

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Tue Dec 02 16:40:27 2008
 */
/* Compiler settings for .\ComponentLib.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __ComponentLib_h__
#define __ComponentLib_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IMgaMetaRegNode_FWD_DEFINED__
#define __IMgaMetaRegNode_FWD_DEFINED__
typedef interface IMgaMetaRegNode IMgaMetaRegNode;
#endif 	/* __IMgaMetaRegNode_FWD_DEFINED__ */


#ifndef __IMgaConstraint_FWD_DEFINED__
#define __IMgaConstraint_FWD_DEFINED__
typedef interface IMgaConstraint IMgaConstraint;
#endif 	/* __IMgaConstraint_FWD_DEFINED__ */


#ifndef __IMgaMetaProject_FWD_DEFINED__
#define __IMgaMetaProject_FWD_DEFINED__
typedef interface IMgaMetaProject IMgaMetaProject;
#endif 	/* __IMgaMetaProject_FWD_DEFINED__ */


#ifndef __IMgaMetaBase_FWD_DEFINED__
#define __IMgaMetaBase_FWD_DEFINED__
typedef interface IMgaMetaBase IMgaMetaBase;
#endif 	/* __IMgaMetaBase_FWD_DEFINED__ */


#ifndef __IMgaMetaFolder_FWD_DEFINED__
#define __IMgaMetaFolder_FWD_DEFINED__
typedef interface IMgaMetaFolder IMgaMetaFolder;
#endif 	/* __IMgaMetaFolder_FWD_DEFINED__ */


#ifndef __IMgaMetaFCO_FWD_DEFINED__
#define __IMgaMetaFCO_FWD_DEFINED__
typedef interface IMgaMetaFCO IMgaMetaFCO;
#endif 	/* __IMgaMetaFCO_FWD_DEFINED__ */


#ifndef __IMgaMetaModel_FWD_DEFINED__
#define __IMgaMetaModel_FWD_DEFINED__
typedef interface IMgaMetaModel IMgaMetaModel;
#endif 	/* __IMgaMetaModel_FWD_DEFINED__ */


#ifndef __IMgaMetaAspect_FWD_DEFINED__
#define __IMgaMetaAspect_FWD_DEFINED__
typedef interface IMgaMetaAspect IMgaMetaAspect;
#endif 	/* __IMgaMetaAspect_FWD_DEFINED__ */


#ifndef __IMgaMetaRole_FWD_DEFINED__
#define __IMgaMetaRole_FWD_DEFINED__
typedef interface IMgaMetaRole IMgaMetaRole;
#endif 	/* __IMgaMetaRole_FWD_DEFINED__ */


#ifndef __IMgaMetaPart_FWD_DEFINED__
#define __IMgaMetaPart_FWD_DEFINED__
typedef interface IMgaMetaPart IMgaMetaPart;
#endif 	/* __IMgaMetaPart_FWD_DEFINED__ */


#ifndef __IMgaMetaAtom_FWD_DEFINED__
#define __IMgaMetaAtom_FWD_DEFINED__
typedef interface IMgaMetaAtom IMgaMetaAtom;
#endif 	/* __IMgaMetaAtom_FWD_DEFINED__ */


#ifndef __IMgaMetaAttribute_FWD_DEFINED__
#define __IMgaMetaAttribute_FWD_DEFINED__
typedef interface IMgaMetaAttribute IMgaMetaAttribute;
#endif 	/* __IMgaMetaAttribute_FWD_DEFINED__ */


#ifndef __IMgaMetaEnumItem_FWD_DEFINED__
#define __IMgaMetaEnumItem_FWD_DEFINED__
typedef interface IMgaMetaEnumItem IMgaMetaEnumItem;
#endif 	/* __IMgaMetaEnumItem_FWD_DEFINED__ */


#ifndef __IMgaMetaReference_FWD_DEFINED__
#define __IMgaMetaReference_FWD_DEFINED__
typedef interface IMgaMetaReference IMgaMetaReference;
#endif 	/* __IMgaMetaReference_FWD_DEFINED__ */


#ifndef __IMgaMetaSet_FWD_DEFINED__
#define __IMgaMetaSet_FWD_DEFINED__
typedef interface IMgaMetaSet IMgaMetaSet;
#endif 	/* __IMgaMetaSet_FWD_DEFINED__ */


#ifndef __IMgaMetaConnection_FWD_DEFINED__
#define __IMgaMetaConnection_FWD_DEFINED__
typedef interface IMgaMetaConnection IMgaMetaConnection;
#endif 	/* __IMgaMetaConnection_FWD_DEFINED__ */


#ifndef __IMgaMetaConnJoint_FWD_DEFINED__
#define __IMgaMetaConnJoint_FWD_DEFINED__
typedef interface IMgaMetaConnJoint IMgaMetaConnJoint;
#endif 	/* __IMgaMetaConnJoint_FWD_DEFINED__ */


#ifndef __IMgaMetaPointerSpec_FWD_DEFINED__
#define __IMgaMetaPointerSpec_FWD_DEFINED__
typedef interface IMgaMetaPointerSpec IMgaMetaPointerSpec;
#endif 	/* __IMgaMetaPointerSpec_FWD_DEFINED__ */


#ifndef __IMgaMetaPointerItem_FWD_DEFINED__
#define __IMgaMetaPointerItem_FWD_DEFINED__
typedef interface IMgaMetaPointerItem IMgaMetaPointerItem;
#endif 	/* __IMgaMetaPointerItem_FWD_DEFINED__ */


#ifndef __IMgaMetaAspects_FWD_DEFINED__
#define __IMgaMetaAspects_FWD_DEFINED__
typedef interface IMgaMetaAspects IMgaMetaAspects;
#endif 	/* __IMgaMetaAspects_FWD_DEFINED__ */


#ifndef __IMgaMetaRoles_FWD_DEFINED__
#define __IMgaMetaRoles_FWD_DEFINED__
typedef interface IMgaMetaRoles IMgaMetaRoles;
#endif 	/* __IMgaMetaRoles_FWD_DEFINED__ */


#ifndef __IMgaMetaFCOs_FWD_DEFINED__
#define __IMgaMetaFCOs_FWD_DEFINED__
typedef interface IMgaMetaFCOs IMgaMetaFCOs;
#endif 	/* __IMgaMetaFCOs_FWD_DEFINED__ */


#ifndef __IMgaMetaAttributes_FWD_DEFINED__
#define __IMgaMetaAttributes_FWD_DEFINED__
typedef interface IMgaMetaAttributes IMgaMetaAttributes;
#endif 	/* __IMgaMetaAttributes_FWD_DEFINED__ */


#ifndef __IMgaMetaFolders_FWD_DEFINED__
#define __IMgaMetaFolders_FWD_DEFINED__
typedef interface IMgaMetaFolders IMgaMetaFolders;
#endif 	/* __IMgaMetaFolders_FWD_DEFINED__ */


#ifndef __IMgaMetaPointerSpecs_FWD_DEFINED__
#define __IMgaMetaPointerSpecs_FWD_DEFINED__
typedef interface IMgaMetaPointerSpecs IMgaMetaPointerSpecs;
#endif 	/* __IMgaMetaPointerSpecs_FWD_DEFINED__ */


#ifndef __IMgaMetaRegNodes_FWD_DEFINED__
#define __IMgaMetaRegNodes_FWD_DEFINED__
typedef interface IMgaMetaRegNodes IMgaMetaRegNodes;
#endif 	/* __IMgaMetaRegNodes_FWD_DEFINED__ */


#ifndef __IMgaConstraints_FWD_DEFINED__
#define __IMgaConstraints_FWD_DEFINED__
typedef interface IMgaConstraints IMgaConstraints;
#endif 	/* __IMgaConstraints_FWD_DEFINED__ */


#ifndef __IMgaMetaParts_FWD_DEFINED__
#define __IMgaMetaParts_FWD_DEFINED__
typedef interface IMgaMetaParts IMgaMetaParts;
#endif 	/* __IMgaMetaParts_FWD_DEFINED__ */


#ifndef __IMgaMetaModels_FWD_DEFINED__
#define __IMgaMetaModels_FWD_DEFINED__
typedef interface IMgaMetaModels IMgaMetaModels;
#endif 	/* __IMgaMetaModels_FWD_DEFINED__ */


#ifndef __IMgaMetaConnJoints_FWD_DEFINED__
#define __IMgaMetaConnJoints_FWD_DEFINED__
typedef interface IMgaMetaConnJoints IMgaMetaConnJoints;
#endif 	/* __IMgaMetaConnJoints_FWD_DEFINED__ */


#ifndef __IMgaMetaPointerItems_FWD_DEFINED__
#define __IMgaMetaPointerItems_FWD_DEFINED__
typedef interface IMgaMetaPointerItems IMgaMetaPointerItems;
#endif 	/* __IMgaMetaPointerItems_FWD_DEFINED__ */


#ifndef __IMgaMetaEnumItems_FWD_DEFINED__
#define __IMgaMetaEnumItems_FWD_DEFINED__
typedef interface IMgaMetaEnumItems IMgaMetaEnumItems;
#endif 	/* __IMgaMetaEnumItems_FWD_DEFINED__ */


#ifndef __IMgaProject_FWD_DEFINED__
#define __IMgaProject_FWD_DEFINED__
typedef interface IMgaProject IMgaProject;
#endif 	/* __IMgaProject_FWD_DEFINED__ */


#ifndef __IMgaEventSink_FWD_DEFINED__
#define __IMgaEventSink_FWD_DEFINED__
typedef interface IMgaEventSink IMgaEventSink;
#endif 	/* __IMgaEventSink_FWD_DEFINED__ */


#ifndef __IMgaAddOn_FWD_DEFINED__
#define __IMgaAddOn_FWD_DEFINED__
typedef interface IMgaAddOn IMgaAddOn;
#endif 	/* __IMgaAddOn_FWD_DEFINED__ */


#ifndef __IMgaComponent_FWD_DEFINED__
#define __IMgaComponent_FWD_DEFINED__
typedef interface IMgaComponent IMgaComponent;
#endif 	/* __IMgaComponent_FWD_DEFINED__ */


#ifndef __IMgaComponentEx_FWD_DEFINED__
#define __IMgaComponentEx_FWD_DEFINED__
typedef interface IMgaComponentEx IMgaComponentEx;
#endif 	/* __IMgaComponentEx_FWD_DEFINED__ */


#ifndef __IMgaClient_FWD_DEFINED__
#define __IMgaClient_FWD_DEFINED__
typedef interface IMgaClient IMgaClient;
#endif 	/* __IMgaClient_FWD_DEFINED__ */


#ifndef __IMgaComponentDispatch_FWD_DEFINED__
#define __IMgaComponentDispatch_FWD_DEFINED__
typedef interface IMgaComponentDispatch IMgaComponentDispatch;
#endif 	/* __IMgaComponentDispatch_FWD_DEFINED__ */


#ifndef __IMgaTerritory_FWD_DEFINED__
#define __IMgaTerritory_FWD_DEFINED__
typedef interface IMgaTerritory IMgaTerritory;
#endif 	/* __IMgaTerritory_FWD_DEFINED__ */


#ifndef __IMgaObject_FWD_DEFINED__
#define __IMgaObject_FWD_DEFINED__
typedef interface IMgaObject IMgaObject;
#endif 	/* __IMgaObject_FWD_DEFINED__ */


#ifndef __IMgaFCO_FWD_DEFINED__
#define __IMgaFCO_FWD_DEFINED__
typedef interface IMgaFCO IMgaFCO;
#endif 	/* __IMgaFCO_FWD_DEFINED__ */


#ifndef __IMgaFolder_FWD_DEFINED__
#define __IMgaFolder_FWD_DEFINED__
typedef interface IMgaFolder IMgaFolder;
#endif 	/* __IMgaFolder_FWD_DEFINED__ */


#ifndef __IMgaModel_FWD_DEFINED__
#define __IMgaModel_FWD_DEFINED__
typedef interface IMgaModel IMgaModel;
#endif 	/* __IMgaModel_FWD_DEFINED__ */


#ifndef __IMgaAtom_FWD_DEFINED__
#define __IMgaAtom_FWD_DEFINED__
typedef interface IMgaAtom IMgaAtom;
#endif 	/* __IMgaAtom_FWD_DEFINED__ */


#ifndef __IMgaPart_FWD_DEFINED__
#define __IMgaPart_FWD_DEFINED__
typedef interface IMgaPart IMgaPart;
#endif 	/* __IMgaPart_FWD_DEFINED__ */


#ifndef __IMgaReference_FWD_DEFINED__
#define __IMgaReference_FWD_DEFINED__
typedef interface IMgaReference IMgaReference;
#endif 	/* __IMgaReference_FWD_DEFINED__ */


#ifndef __IMgaSet_FWD_DEFINED__
#define __IMgaSet_FWD_DEFINED__
typedef interface IMgaSet IMgaSet;
#endif 	/* __IMgaSet_FWD_DEFINED__ */


#ifndef __IMgaConnection_FWD_DEFINED__
#define __IMgaConnection_FWD_DEFINED__
typedef interface IMgaConnection IMgaConnection;
#endif 	/* __IMgaConnection_FWD_DEFINED__ */


#ifndef __IMgaSimpleConnection_FWD_DEFINED__
#define __IMgaSimpleConnection_FWD_DEFINED__
typedef interface IMgaSimpleConnection IMgaSimpleConnection;
#endif 	/* __IMgaSimpleConnection_FWD_DEFINED__ */


#ifndef __IMgaConnPoint_FWD_DEFINED__
#define __IMgaConnPoint_FWD_DEFINED__
typedef interface IMgaConnPoint IMgaConnPoint;
#endif 	/* __IMgaConnPoint_FWD_DEFINED__ */


#ifndef __IMgaRegNode_FWD_DEFINED__
#define __IMgaRegNode_FWD_DEFINED__
typedef interface IMgaRegNode IMgaRegNode;
#endif 	/* __IMgaRegNode_FWD_DEFINED__ */


#ifndef __IMgaFilter_FWD_DEFINED__
#define __IMgaFilter_FWD_DEFINED__
typedef interface IMgaFilter IMgaFilter;
#endif 	/* __IMgaFilter_FWD_DEFINED__ */


#ifndef __IMgaAttribute_FWD_DEFINED__
#define __IMgaAttribute_FWD_DEFINED__
typedef interface IMgaAttribute IMgaAttribute;
#endif 	/* __IMgaAttribute_FWD_DEFINED__ */


#ifndef __IMgaFolders_FWD_DEFINED__
#define __IMgaFolders_FWD_DEFINED__
typedef interface IMgaFolders IMgaFolders;
#endif 	/* __IMgaFolders_FWD_DEFINED__ */


#ifndef __IMgaFCOs_FWD_DEFINED__
#define __IMgaFCOs_FWD_DEFINED__
typedef interface IMgaFCOs IMgaFCOs;
#endif 	/* __IMgaFCOs_FWD_DEFINED__ */


#ifndef __IMgaAttributes_FWD_DEFINED__
#define __IMgaAttributes_FWD_DEFINED__
typedef interface IMgaAttributes IMgaAttributes;
#endif 	/* __IMgaAttributes_FWD_DEFINED__ */


#ifndef __IMgaParts_FWD_DEFINED__
#define __IMgaParts_FWD_DEFINED__
typedef interface IMgaParts IMgaParts;
#endif 	/* __IMgaParts_FWD_DEFINED__ */


#ifndef __IMgaConnPoints_FWD_DEFINED__
#define __IMgaConnPoints_FWD_DEFINED__
typedef interface IMgaConnPoints IMgaConnPoints;
#endif 	/* __IMgaConnPoints_FWD_DEFINED__ */


#ifndef __IMgaRegNodes_FWD_DEFINED__
#define __IMgaRegNodes_FWD_DEFINED__
typedef interface IMgaRegNodes IMgaRegNodes;
#endif 	/* __IMgaRegNodes_FWD_DEFINED__ */


#ifndef __IMgaAddOns_FWD_DEFINED__
#define __IMgaAddOns_FWD_DEFINED__
typedef interface IMgaAddOns IMgaAddOns;
#endif 	/* __IMgaAddOns_FWD_DEFINED__ */


#ifndef __IMgaTerritories_FWD_DEFINED__
#define __IMgaTerritories_FWD_DEFINED__
typedef interface IMgaTerritories IMgaTerritories;
#endif 	/* __IMgaTerritories_FWD_DEFINED__ */


#ifndef __IMgaComponents_FWD_DEFINED__
#define __IMgaComponents_FWD_DEFINED__
typedef interface IMgaComponents IMgaComponents;
#endif 	/* __IMgaComponents_FWD_DEFINED__ */


#ifndef __IMgaClients_FWD_DEFINED__
#define __IMgaClients_FWD_DEFINED__
typedef interface IMgaClients IMgaClients;
#endif 	/* __IMgaClients_FWD_DEFINED__ */


#ifndef __IMgaObjects_FWD_DEFINED__
#define __IMgaObjects_FWD_DEFINED__
typedef interface IMgaObjects IMgaObjects;
#endif 	/* __IMgaObjects_FWD_DEFINED__ */


#ifndef __IMgaO_FWD_DEFINED__
#define __IMgaO_FWD_DEFINED__
typedef interface IMgaO IMgaO;
#endif 	/* __IMgaO_FWD_DEFINED__ */


#ifndef __IMgaResolver_FWD_DEFINED__
#define __IMgaResolver_FWD_DEFINED__
typedef interface IMgaResolver IMgaResolver;
#endif 	/* __IMgaResolver_FWD_DEFINED__ */


#ifndef __IMgaRegistrar_FWD_DEFINED__
#define __IMgaRegistrar_FWD_DEFINED__
typedef interface IMgaRegistrar IMgaRegistrar;
#endif 	/* __IMgaRegistrar_FWD_DEFINED__ */


#ifndef __IMgaLauncher_FWD_DEFINED__
#define __IMgaLauncher_FWD_DEFINED__
typedef interface IMgaLauncher IMgaLauncher;
#endif 	/* __IMgaLauncher_FWD_DEFINED__ */


#ifndef __IMgaProgressDlg_FWD_DEFINED__
#define __IMgaProgressDlg_FWD_DEFINED__
typedef interface IMgaProgressDlg IMgaProgressDlg;
#endif 	/* __IMgaProgressDlg_FWD_DEFINED__ */


#ifndef __IMgaComponentProxy_FWD_DEFINED__
#define __IMgaComponentProxy_FWD_DEFINED__
typedef interface IMgaComponentProxy IMgaComponentProxy;
#endif 	/* __IMgaComponentProxy_FWD_DEFINED__ */


#ifndef __IMgaXsltFileSel_FWD_DEFINED__
#define __IMgaXsltFileSel_FWD_DEFINED__
typedef interface IMgaXsltFileSel IMgaXsltFileSel;
#endif 	/* __IMgaXsltFileSel_FWD_DEFINED__ */


#ifndef __IMgaClosure_FWD_DEFINED__
#define __IMgaClosure_FWD_DEFINED__
typedef interface IMgaClosure IMgaClosure;
#endif 	/* __IMgaClosure_FWD_DEFINED__ */


#ifndef __IMgaEventLogger_FWD_DEFINED__
#define __IMgaEventLogger_FWD_DEFINED__
typedef interface IMgaEventLogger IMgaEventLogger;
#endif 	/* __IMgaEventLogger_FWD_DEFINED__ */


#ifndef __IMgaDataSource_FWD_DEFINED__
#define __IMgaDataSource_FWD_DEFINED__
typedef interface IMgaDataSource IMgaDataSource;
#endif 	/* __IMgaDataSource_FWD_DEFINED__ */


#ifndef __IGMEOLEApp_FWD_DEFINED__
#define __IGMEOLEApp_FWD_DEFINED__
typedef interface IGMEOLEApp IGMEOLEApp;
#endif 	/* __IGMEOLEApp_FWD_DEFINED__ */


#ifndef __IGMEOLEIt_FWD_DEFINED__
#define __IGMEOLEIt_FWD_DEFINED__
typedef interface IGMEOLEIt IGMEOLEIt;
#endif 	/* __IGMEOLEIt_FWD_DEFINED__ */


#ifndef __IGMEOLEModel_FWD_DEFINED__
#define __IGMEOLEModel_FWD_DEFINED__
typedef interface IGMEOLEModel IGMEOLEModel;
#endif 	/* __IGMEOLEModel_FWD_DEFINED__ */


#ifndef __IGMEOLEAspect_FWD_DEFINED__
#define __IGMEOLEAspect_FWD_DEFINED__
typedef interface IGMEOLEAspect IGMEOLEAspect;
#endif 	/* __IGMEOLEAspect_FWD_DEFINED__ */


#ifndef __IGMEOLEPanel_FWD_DEFINED__
#define __IGMEOLEPanel_FWD_DEFINED__
typedef interface IGMEOLEPanel IGMEOLEPanel;
#endif 	/* __IGMEOLEPanel_FWD_DEFINED__ */


#ifndef __IGMEOLEColl_FWD_DEFINED__
#define __IGMEOLEColl_FWD_DEFINED__
typedef interface IGMEOLEColl IGMEOLEColl;
#endif 	/* __IGMEOLEColl_FWD_DEFINED__ */


#ifndef __IMgaVersionInfo_FWD_DEFINED__
#define __IMgaVersionInfo_FWD_DEFINED__
typedef interface IMgaVersionInfo IMgaVersionInfo;
#endif 	/* __IMgaVersionInfo_FWD_DEFINED__ */


#ifndef __IMetaParser_FWD_DEFINED__
#define __IMetaParser_FWD_DEFINED__
typedef interface IMetaParser IMetaParser;
#endif 	/* __IMetaParser_FWD_DEFINED__ */


#ifndef __IMgaDumper_FWD_DEFINED__
#define __IMgaDumper_FWD_DEFINED__
typedef interface IMgaDumper IMgaDumper;
#endif 	/* __IMgaDumper_FWD_DEFINED__ */


#ifndef __IMgaParser_FWD_DEFINED__
#define __IMgaParser_FWD_DEFINED__
typedef interface IMgaParser IMgaParser;
#endif 	/* __IMgaParser_FWD_DEFINED__ */


#ifndef __IMgaXslt_FWD_DEFINED__
#define __IMgaXslt_FWD_DEFINED__
typedef interface IMgaXslt IMgaXslt;
#endif 	/* __IMgaXslt_FWD_DEFINED__ */


#ifndef __MgaComponent_FWD_DEFINED__
#define __MgaComponent_FWD_DEFINED__

#ifdef __cplusplus
typedef class MgaComponent MgaComponent;
#else
typedef struct MgaComponent MgaComponent;
#endif /* __cplusplus */

#endif 	/* __MgaComponent_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf_ComponentLib_0000 */
/* [local] */ 

#ifndef INTERFACECOLL_INCLUDED
#define INTERFACECOLL_INCLUDED
extern "C++"											
{														
	template<class COLL> struct TypeName_MgaColl2Elem		
	{														
		typedef IUnknown element_type;						
		typedef IUnknown collection_type;					
	};														
	template<class ELEM> struct TypeName_MgaElem2Coll		
	{														
		typedef IUnknown element_type;						
		typedef IUnknown collection_type;					
	};														
}														
#define TYPENAME_COLL2ELEM(COLL) typename ::TypeName_MgaColl2Elem<COLL>::element_type
#define TYPENAME_ELEM2COLL(ELEM) typename ::TypeName_MgaElem2Coll<ELEM>::collection_type
#endif
#ifndef INTERFACE_VERSION
#define INTERFACE_VERSION 0x00020096
#endif //INTERFACE_VERSION
typedef long metaref_type;

typedef 
enum objtype_enum
    {	OBJTYPE_NULL	= 0,
	OBJTYPE_MODEL	= 1,
	OBJTYPE_ATOM	= 2,
	OBJTYPE_REFERENCE	= 3,
	OBJTYPE_CONNECTION	= 4,
	OBJTYPE_SET	= 5,
	OBJTYPE_FOLDER	= 6,
	OBJTYPE_ASPECT	= OBJTYPE_FOLDER + 1,
	OBJTYPE_ROLE	= OBJTYPE_ASPECT + 1,
	OBJTYPE_ATTRIBUTE	= OBJTYPE_ROLE + 1,
	OBJTYPE_PART	= OBJTYPE_ATTRIBUTE + 1
    } 	objtype_enum;

typedef 
enum attval_enum
    {	ATTVAL_NULL	= 0,
	ATTVAL_STRING	= 1,
	ATTVAL_INTEGER	= 2,
	ATTVAL_DOUBLE	= 3,
	ATTVAL_BOOLEAN	= 4,
	ATTVAL_REFERENCE	= 5,
	ATTVAL_ENUM	= ATTVAL_REFERENCE + 1,
	ATTVAL_DYNAMIC	= ATTVAL_ENUM + 1
    } 	attval_enum;

typedef 
enum constraint_depth_enum
    {	CONSTRAINT_DEPTH_ZERO	= 0,
	CONSTRAINT_DEPTH_ONE	= CONSTRAINT_DEPTH_ZERO + 1,
	CONSTRAINT_DEPTH_ANY	= CONSTRAINT_DEPTH_ONE + 1
    } 	constraint_depth_enum;

typedef 
enum constraint_type_enum
    {	CONSTRAINT_TYPE_EVENTBASED	= 0,
	CONSTRAINT_TYPE_ONDEMAND	= CONSTRAINT_TYPE_EVENTBASED + 1,
	CONSTRAINT_TYPE_FUNCTION	= CONSTRAINT_TYPE_ONDEMAND + 1
    } 	constraint_type_enum;

































extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0000_v0_0_s_ifspec;

#ifndef __IMgaMetaRegNode_INTERFACE_DEFINED__
#define __IMgaMetaRegNode_INTERFACE_DEFINED__

/* interface IMgaMetaRegNode */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaRegNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA323D-B758-11D3-ABAE-000002387500")
    IMgaMetaRegNode : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryNodes( 
            /* [retval][out] */ IMgaMetaRegNodes **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryNode( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryNodeDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryValue( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RegistryValue( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaRegNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaRegNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaRegNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaRegNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaRegNode * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaRegNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaRegNode * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaRegNode * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaRegNode * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IMgaMetaRegNode * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            IMgaMetaRegNode * This,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaRegNode * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaRegNode * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaRegNode * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaRegNode * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaRegNode * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaRegNode * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaRegNode * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaRegNode * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        END_INTERFACE
    } IMgaMetaRegNodeVtbl;

    interface IMgaMetaRegNode
    {
        CONST_VTBL struct IMgaMetaRegNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaRegNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaRegNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaRegNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaRegNode_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaRegNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaRegNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaRegNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaRegNode_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaRegNode_get_Value(This,p)	\
    (This)->lpVtbl -> get_Value(This,p)

#define IMgaMetaRegNode_put_Value(This,p)	\
    (This)->lpVtbl -> put_Value(This,p)

#define IMgaMetaRegNode_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaRegNode_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaRegNode_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaRegNode_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaRegNode_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaRegNode_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaRegNode_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaRegNode_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_get_Name_Proxy( 
    IMgaMetaRegNode * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaRegNode_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_get_Value_Proxy( 
    IMgaMetaRegNode * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaRegNode_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_put_Value_Proxy( 
    IMgaMetaRegNode * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaRegNode_put_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_Delete_Proxy( 
    IMgaMetaRegNode * This);


void __RPC_STUB IMgaMetaRegNode_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_get_RegistryNodes_Proxy( 
    IMgaMetaRegNode * This,
    /* [retval][out] */ IMgaMetaRegNodes **p);


void __RPC_STUB IMgaMetaRegNode_get_RegistryNodes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_get_RegistryNode_Proxy( 
    IMgaMetaRegNode * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaMetaRegNode **p);


void __RPC_STUB IMgaMetaRegNode_get_RegistryNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_GetRegistryNodeDisp_Proxy( 
    IMgaMetaRegNode * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaMetaRegNode **p);


void __RPC_STUB IMgaMetaRegNode_GetRegistryNodeDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_get_RegistryValue_Proxy( 
    IMgaMetaRegNode * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaRegNode_get_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_GetRegistryValueDisp_Proxy( 
    IMgaMetaRegNode * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaRegNode_GetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_put_RegistryValue_Proxy( 
    IMgaMetaRegNode * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaRegNode_put_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNode_SetRegistryValueDisp_Proxy( 
    IMgaMetaRegNode * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaRegNode_SetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaRegNode_INTERFACE_DEFINED__ */


#ifndef __IMgaConstraint_INTERFACE_DEFINED__
#define __IMgaConstraint_INTERFACE_DEFINED__

/* interface IMgaConstraint */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaConstraint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3241-B758-11D3-ABAE-000000000000")
    IMgaConstraint : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayedName( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayedName( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Expression( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Expression( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EventMask( 
            /* [retval][out] */ unsigned long *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EventMask( 
            /* [in] */ unsigned long p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Depth( 
            /* [retval][out] */ constraint_depth_enum *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Depth( 
            /* [in] */ constraint_depth_enum p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Priority( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Priority( 
            /* [in] */ long p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ constraint_type_enum *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ constraint_type_enum p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefinedForNamespace( 
            /* [in] */ BSTR pStr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefinedForNamespace( 
            /* [retval][out] */ BSTR *pStr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaConstraintVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaConstraint * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaConstraint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaConstraint * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaConstraint * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaConstraint * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaConstraint * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaConstraint * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaConstraint * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaConstraint * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaConstraint * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaConstraint * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Expression )( 
            IMgaConstraint * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Expression )( 
            IMgaConstraint * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventMask )( 
            IMgaConstraint * This,
            /* [retval][out] */ unsigned long *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventMask )( 
            IMgaConstraint * This,
            /* [in] */ unsigned long p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Depth )( 
            IMgaConstraint * This,
            /* [retval][out] */ constraint_depth_enum *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Depth )( 
            IMgaConstraint * This,
            /* [in] */ constraint_depth_enum p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )( 
            IMgaConstraint * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )( 
            IMgaConstraint * This,
            /* [in] */ long p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMgaConstraint * This,
            /* [retval][out] */ constraint_type_enum *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IMgaConstraint * This,
            /* [in] */ constraint_type_enum p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaConstraint * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefinedForNamespace )( 
            IMgaConstraint * This,
            /* [in] */ BSTR pStr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedForNamespace )( 
            IMgaConstraint * This,
            /* [retval][out] */ BSTR *pStr);
        
        END_INTERFACE
    } IMgaConstraintVtbl;

    interface IMgaConstraint
    {
        CONST_VTBL struct IMgaConstraintVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaConstraint_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaConstraint_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaConstraint_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaConstraint_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaConstraint_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaConstraint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaConstraint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaConstraint_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaConstraint_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaConstraint_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaConstraint_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaConstraint_get_Expression(This,p)	\
    (This)->lpVtbl -> get_Expression(This,p)

#define IMgaConstraint_put_Expression(This,p)	\
    (This)->lpVtbl -> put_Expression(This,p)

#define IMgaConstraint_get_EventMask(This,p)	\
    (This)->lpVtbl -> get_EventMask(This,p)

#define IMgaConstraint_put_EventMask(This,p)	\
    (This)->lpVtbl -> put_EventMask(This,p)

#define IMgaConstraint_get_Depth(This,p)	\
    (This)->lpVtbl -> get_Depth(This,p)

#define IMgaConstraint_put_Depth(This,p)	\
    (This)->lpVtbl -> put_Depth(This,p)

#define IMgaConstraint_get_Priority(This,p)	\
    (This)->lpVtbl -> get_Priority(This,p)

#define IMgaConstraint_put_Priority(This,p)	\
    (This)->lpVtbl -> put_Priority(This,p)

#define IMgaConstraint_get_Type(This,p)	\
    (This)->lpVtbl -> get_Type(This,p)

#define IMgaConstraint_put_Type(This,p)	\
    (This)->lpVtbl -> put_Type(This,p)

#define IMgaConstraint_Remove(This)	\
    (This)->lpVtbl -> Remove(This)

#define IMgaConstraint_SetDefinedForNamespace(This,pStr)	\
    (This)->lpVtbl -> SetDefinedForNamespace(This,pStr)

#define IMgaConstraint_GetDefinedForNamespace(This,pStr)	\
    (This)->lpVtbl -> GetDefinedForNamespace(This,pStr)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_get_Name_Proxy( 
    IMgaConstraint * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaConstraint_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_put_Name_Proxy( 
    IMgaConstraint * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaConstraint_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_get_DisplayedName_Proxy( 
    IMgaConstraint * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaConstraint_get_DisplayedName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_put_DisplayedName_Proxy( 
    IMgaConstraint * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaConstraint_put_DisplayedName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_get_Expression_Proxy( 
    IMgaConstraint * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaConstraint_get_Expression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_put_Expression_Proxy( 
    IMgaConstraint * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaConstraint_put_Expression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_get_EventMask_Proxy( 
    IMgaConstraint * This,
    /* [retval][out] */ unsigned long *p);


void __RPC_STUB IMgaConstraint_get_EventMask_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_put_EventMask_Proxy( 
    IMgaConstraint * This,
    /* [in] */ unsigned long p);


void __RPC_STUB IMgaConstraint_put_EventMask_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_get_Depth_Proxy( 
    IMgaConstraint * This,
    /* [retval][out] */ constraint_depth_enum *p);


void __RPC_STUB IMgaConstraint_get_Depth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_put_Depth_Proxy( 
    IMgaConstraint * This,
    /* [in] */ constraint_depth_enum p);


void __RPC_STUB IMgaConstraint_put_Depth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_get_Priority_Proxy( 
    IMgaConstraint * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaConstraint_get_Priority_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_put_Priority_Proxy( 
    IMgaConstraint * This,
    /* [in] */ long p);


void __RPC_STUB IMgaConstraint_put_Priority_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_get_Type_Proxy( 
    IMgaConstraint * This,
    /* [retval][out] */ constraint_type_enum *p);


void __RPC_STUB IMgaConstraint_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_put_Type_Proxy( 
    IMgaConstraint * This,
    /* [in] */ constraint_type_enum p);


void __RPC_STUB IMgaConstraint_put_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_Remove_Proxy( 
    IMgaConstraint * This);


void __RPC_STUB IMgaConstraint_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_SetDefinedForNamespace_Proxy( 
    IMgaConstraint * This,
    /* [in] */ BSTR pStr);


void __RPC_STUB IMgaConstraint_SetDefinedForNamespace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConstraint_GetDefinedForNamespace_Proxy( 
    IMgaConstraint * This,
    /* [retval][out] */ BSTR *pStr);


void __RPC_STUB IMgaConstraint_GetDefinedForNamespace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaConstraint_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaProject_INTERFACE_DEFINED__
#define __IMgaMetaProject_INTERFACE_DEFINED__

/* interface IMgaMetaProject */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaProject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3243-B758-11D3-ABAE-000000000000")
    IMgaMetaProject : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [in] */ BSTR connection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ BSTR connection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginTransaction( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CommitTransaction( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AbortTransaction( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GUID( 
            /* [retval][out] */ VARIANT *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_GUID( 
            /* [in] */ VARIANT p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayedName( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayedName( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Version( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Author( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Author( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Comment( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Comment( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CreatedAt( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CreatedAt( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ModifiedAt( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ModifiedAt( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RootFolder( 
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FindObject( 
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaBase **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DoFindObjectDisp( 
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaBase **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetNmspc( 
            /* [in] */ BSTR pStr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNmspc( 
            /* [retval][out] */ BSTR *pStr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaProjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaProject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaProject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaProject * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaProject * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaProject * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaProject * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaProject * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR connection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaMetaProject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR connection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginTransaction )( 
            IMgaMetaProject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CommitTransaction )( 
            IMgaMetaProject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AbortTransaction )( 
            IMgaMetaProject * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
            IMgaMetaProject * This,
            /* [retval][out] */ VARIANT *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GUID )( 
            IMgaMetaProject * This,
            /* [in] */ VARIANT p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaProject * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaProject * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IMgaMetaProject * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Version )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Author )( 
            IMgaMetaProject * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Author )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comment )( 
            IMgaMetaProject * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comment )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreatedAt )( 
            IMgaMetaProject * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CreatedAt )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiedAt )( 
            IMgaMetaProject * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ModifiedAt )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootFolder )( 
            IMgaMetaProject * This,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FindObject )( 
            IMgaMetaProject * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaBase **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoFindObjectDisp )( 
            IMgaMetaProject * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaBase **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetNmspc )( 
            IMgaMetaProject * This,
            /* [in] */ BSTR pStr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNmspc )( 
            IMgaMetaProject * This,
            /* [retval][out] */ BSTR *pStr);
        
        END_INTERFACE
    } IMgaMetaProjectVtbl;

    interface IMgaMetaProject
    {
        CONST_VTBL struct IMgaMetaProjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaProject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaProject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaProject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaProject_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaProject_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaProject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaProject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaProject_Open(This,connection)	\
    (This)->lpVtbl -> Open(This,connection)

#define IMgaMetaProject_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaMetaProject_Create(This,connection)	\
    (This)->lpVtbl -> Create(This,connection)

#define IMgaMetaProject_BeginTransaction(This)	\
    (This)->lpVtbl -> BeginTransaction(This)

#define IMgaMetaProject_CommitTransaction(This)	\
    (This)->lpVtbl -> CommitTransaction(This)

#define IMgaMetaProject_AbortTransaction(This)	\
    (This)->lpVtbl -> AbortTransaction(This)

#define IMgaMetaProject_get_GUID(This,p)	\
    (This)->lpVtbl -> get_GUID(This,p)

#define IMgaMetaProject_put_GUID(This,p)	\
    (This)->lpVtbl -> put_GUID(This,p)

#define IMgaMetaProject_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaProject_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaProject_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaProject_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaProject_get_Version(This,p)	\
    (This)->lpVtbl -> get_Version(This,p)

#define IMgaMetaProject_put_Version(This,p)	\
    (This)->lpVtbl -> put_Version(This,p)

#define IMgaMetaProject_get_Author(This,p)	\
    (This)->lpVtbl -> get_Author(This,p)

#define IMgaMetaProject_put_Author(This,p)	\
    (This)->lpVtbl -> put_Author(This,p)

#define IMgaMetaProject_get_Comment(This,p)	\
    (This)->lpVtbl -> get_Comment(This,p)

#define IMgaMetaProject_put_Comment(This,p)	\
    (This)->lpVtbl -> put_Comment(This,p)

#define IMgaMetaProject_get_CreatedAt(This,p)	\
    (This)->lpVtbl -> get_CreatedAt(This,p)

#define IMgaMetaProject_put_CreatedAt(This,p)	\
    (This)->lpVtbl -> put_CreatedAt(This,p)

#define IMgaMetaProject_get_ModifiedAt(This,p)	\
    (This)->lpVtbl -> get_ModifiedAt(This,p)

#define IMgaMetaProject_put_ModifiedAt(This,p)	\
    (This)->lpVtbl -> put_ModifiedAt(This,p)

#define IMgaMetaProject_get_RootFolder(This,p)	\
    (This)->lpVtbl -> get_RootFolder(This,p)

#define IMgaMetaProject_get_FindObject(This,mref,p)	\
    (This)->lpVtbl -> get_FindObject(This,mref,p)

#define IMgaMetaProject_DoFindObjectDisp(This,mref,p)	\
    (This)->lpVtbl -> DoFindObjectDisp(This,mref,p)

#define IMgaMetaProject_SetNmspc(This,pStr)	\
    (This)->lpVtbl -> SetNmspc(This,pStr)

#define IMgaMetaProject_GetNmspc(This,pStr)	\
    (This)->lpVtbl -> GetNmspc(This,pStr)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_Open_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR connection);


void __RPC_STUB IMgaMetaProject_Open_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_Close_Proxy( 
    IMgaMetaProject * This);


void __RPC_STUB IMgaMetaProject_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_Create_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR connection);


void __RPC_STUB IMgaMetaProject_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_BeginTransaction_Proxy( 
    IMgaMetaProject * This);


void __RPC_STUB IMgaMetaProject_BeginTransaction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_CommitTransaction_Proxy( 
    IMgaMetaProject * This);


void __RPC_STUB IMgaMetaProject_CommitTransaction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_AbortTransaction_Proxy( 
    IMgaMetaProject * This);


void __RPC_STUB IMgaMetaProject_AbortTransaction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_GUID_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ VARIANT *p);


void __RPC_STUB IMgaMetaProject_get_GUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_put_GUID_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ VARIANT p);


void __RPC_STUB IMgaMetaProject_put_GUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_Name_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaProject_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_put_Name_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaProject_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_DisplayedName_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaProject_get_DisplayedName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_put_DisplayedName_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaProject_put_DisplayedName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_Version_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaProject_get_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_put_Version_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaProject_put_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_Author_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaProject_get_Author_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_put_Author_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaProject_put_Author_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_Comment_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaProject_get_Comment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_put_Comment_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaProject_put_Comment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_CreatedAt_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaProject_get_CreatedAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_put_CreatedAt_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaProject_put_CreatedAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_ModifiedAt_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaProject_get_ModifiedAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_put_ModifiedAt_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaProject_put_ModifiedAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_RootFolder_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaMetaProject_get_RootFolder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_get_FindObject_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ metaref_type mref,
    /* [retval][out] */ IMgaMetaBase **p);


void __RPC_STUB IMgaMetaProject_get_FindObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_DoFindObjectDisp_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ metaref_type mref,
    /* [retval][out] */ IMgaMetaBase **p);


void __RPC_STUB IMgaMetaProject_DoFindObjectDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_SetNmspc_Proxy( 
    IMgaMetaProject * This,
    /* [in] */ BSTR pStr);


void __RPC_STUB IMgaMetaProject_SetNmspc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaProject_GetNmspc_Proxy( 
    IMgaMetaProject * This,
    /* [retval][out] */ BSTR *pStr);


void __RPC_STUB IMgaMetaProject_GetNmspc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaProject_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaBase_INTERFACE_DEFINED__
#define __IMgaMetaBase_INTERFACE_DEFINED__

/* interface IMgaMetaBase */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaBase;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DB1E0FB7-C9CB-11D3-9AD2-00AA00B6FE26")
    IMgaMetaBase : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaRef( 
            /* [retval][out] */ metaref_type *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_MetaRef( 
            /* [in] */ metaref_type p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaProject( 
            /* [retval][out] */ IMgaMetaProject **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayedName( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayedName( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObjType( 
            /* [retval][out] */ objtype_enum *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryNodes( 
            /* [retval][out] */ IMgaMetaRegNodes **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryNode( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryNodeDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryValue( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RegistryValue( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Constraints( 
            /* [retval][out] */ IMgaConstraints **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateConstraint( 
            /* [retval][out] */ IMgaConstraint **p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaBaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaBase * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaBase * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaBase * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaBase * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaBase * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaBase * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaBase * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaBase * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaBase * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaBase * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaBase * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaBase * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaBase * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaBase * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaBase * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaBase * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaBase * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaBase * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaBase * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaBase * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaBase * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaBase * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaBase * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaBase * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaBase * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        END_INTERFACE
    } IMgaMetaBaseVtbl;

    interface IMgaMetaBase
    {
        CONST_VTBL struct IMgaMetaBaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaBase_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaBase_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaBase_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaBase_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaBase_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaBase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaBase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaBase_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaBase_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaBase_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaBase_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaBase_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaBase_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaBase_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaBase_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaBase_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaBase_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaBase_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaBase_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaBase_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaBase_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaBase_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaBase_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaBase_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaBase_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_get_MetaRef_Proxy( 
    IMgaMetaBase * This,
    /* [retval][out] */ metaref_type *p);


void __RPC_STUB IMgaMetaBase_get_MetaRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_put_MetaRef_Proxy( 
    IMgaMetaBase * This,
    /* [in] */ metaref_type p);


void __RPC_STUB IMgaMetaBase_put_MetaRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_get_MetaProject_Proxy( 
    IMgaMetaBase * This,
    /* [retval][out] */ IMgaMetaProject **p);


void __RPC_STUB IMgaMetaBase_get_MetaProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_get_Name_Proxy( 
    IMgaMetaBase * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaBase_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_put_Name_Proxy( 
    IMgaMetaBase * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaBase_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_get_DisplayedName_Proxy( 
    IMgaMetaBase * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaBase_get_DisplayedName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_put_DisplayedName_Proxy( 
    IMgaMetaBase * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaBase_put_DisplayedName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_get_ObjType_Proxy( 
    IMgaMetaBase * This,
    /* [retval][out] */ objtype_enum *p);


void __RPC_STUB IMgaMetaBase_get_ObjType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_Delete_Proxy( 
    IMgaMetaBase * This);


void __RPC_STUB IMgaMetaBase_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_get_RegistryNodes_Proxy( 
    IMgaMetaBase * This,
    /* [retval][out] */ IMgaMetaRegNodes **p);


void __RPC_STUB IMgaMetaBase_get_RegistryNodes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_get_RegistryNode_Proxy( 
    IMgaMetaBase * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaMetaRegNode **p);


void __RPC_STUB IMgaMetaBase_get_RegistryNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_GetRegistryNodeDisp_Proxy( 
    IMgaMetaBase * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaMetaRegNode **p);


void __RPC_STUB IMgaMetaBase_GetRegistryNodeDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_get_RegistryValue_Proxy( 
    IMgaMetaBase * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaBase_get_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_GetRegistryValueDisp_Proxy( 
    IMgaMetaBase * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaBase_GetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_put_RegistryValue_Proxy( 
    IMgaMetaBase * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaBase_put_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_SetRegistryValueDisp_Proxy( 
    IMgaMetaBase * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaBase_SetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_get_Constraints_Proxy( 
    IMgaMetaBase * This,
    /* [retval][out] */ IMgaConstraints **p);


void __RPC_STUB IMgaMetaBase_get_Constraints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaBase_CreateConstraint_Proxy( 
    IMgaMetaBase * This,
    /* [retval][out] */ IMgaConstraint **p);


void __RPC_STUB IMgaMetaBase_CreateConstraint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaBase_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaFolder_INTERFACE_DEFINED__
#define __IMgaMetaFolder_INTERFACE_DEFINED__

/* interface IMgaMetaFolder */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaFolder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3245-B758-11D3-ABAE-000000000000")
    IMgaMetaFolder : public IMgaMetaBase
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedIn( 
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedFolders( 
            /* [retval][out] */ IMgaMetaFolders **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedFolderByName( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefinedFolderByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedFCOs( 
            /* [retval][out] */ IMgaMetaFCOs **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedFCOByName( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefinedFCOByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedAttributes( 
            /* [retval][out] */ IMgaMetaAttributes **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedAttributeByName( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefinedAttributeByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineFolder( 
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineModel( 
            /* [retval][out] */ IMgaMetaModel **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineAtom( 
            /* [retval][out] */ IMgaMetaAtom **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineReference( 
            /* [retval][out] */ IMgaMetaReference **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineSet( 
            /* [retval][out] */ IMgaMetaSet **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineConnection( 
            /* [retval][out] */ IMgaMetaConnection **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineAttribute( 
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LegalChildFolders( 
            /* [retval][out] */ IMgaMetaFolders **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LegalChildFolderByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLegalChildFolderByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LegalRootObjects( 
            /* [retval][out] */ IMgaMetaFCOs **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LegalRootObjectByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLegalRootObjectByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UsedInFolders( 
            /* [retval][out] */ IMgaMetaFolders **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLegalChildFolder( 
            /* [in] */ IMgaMetaFolder *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveLegalChildFolder( 
            /* [in] */ IMgaMetaFolder *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddLegalRootObject( 
            /* [in] */ IMgaMetaFCO *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveLegalRootObject( 
            /* [in] */ IMgaMetaFCO *p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaFolderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaFolder * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaFolder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaFolder * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaFolder * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaFolder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaFolder * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaFolder * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaFolder * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaFolder * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedIn )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedFolders )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaFolders **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedFolderByName )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedFolderByNameDisp )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedFCOs )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaFCOs **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedFCOByName )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedFCOByNameDisp )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributes )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributeByName )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedAttributeByNameDisp )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineFolder )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineModel )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaModel **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineAtom )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaAtom **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineReference )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaReference **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineSet )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaSet **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineConnection )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaConnection **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineAttribute )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LegalChildFolders )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaFolders **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LegalChildFolderByName )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLegalChildFolderByNameDisp )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LegalRootObjects )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaFCOs **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LegalRootObjectByName )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLegalRootObjectByNameDisp )( 
            IMgaMetaFolder * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInFolders )( 
            IMgaMetaFolder * This,
            /* [retval][out] */ IMgaMetaFolders **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddLegalChildFolder )( 
            IMgaMetaFolder * This,
            /* [in] */ IMgaMetaFolder *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveLegalChildFolder )( 
            IMgaMetaFolder * This,
            /* [in] */ IMgaMetaFolder *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddLegalRootObject )( 
            IMgaMetaFolder * This,
            /* [in] */ IMgaMetaFCO *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveLegalRootObject )( 
            IMgaMetaFolder * This,
            /* [in] */ IMgaMetaFCO *p);
        
        END_INTERFACE
    } IMgaMetaFolderVtbl;

    interface IMgaMetaFolder
    {
        CONST_VTBL struct IMgaMetaFolderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaFolder_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaFolder_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaFolder_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaFolder_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaFolder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaFolder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaFolder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaFolder_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaFolder_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaFolder_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaFolder_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaFolder_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaFolder_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaFolder_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaFolder_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaFolder_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaFolder_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaFolder_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaFolder_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaFolder_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaFolder_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaFolder_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaFolder_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaFolder_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaFolder_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaFolder_get_DefinedIn(This,p)	\
    (This)->lpVtbl -> get_DefinedIn(This,p)

#define IMgaMetaFolder_get_DefinedFolders(This,p)	\
    (This)->lpVtbl -> get_DefinedFolders(This,p)

#define IMgaMetaFolder_get_DefinedFolderByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedFolderByName(This,name,inscope,p)

#define IMgaMetaFolder_GetDefinedFolderByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedFolderByNameDisp(This,name,inscope,p)

#define IMgaMetaFolder_get_DefinedFCOs(This,p)	\
    (This)->lpVtbl -> get_DefinedFCOs(This,p)

#define IMgaMetaFolder_get_DefinedFCOByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedFCOByName(This,name,inscope,p)

#define IMgaMetaFolder_GetDefinedFCOByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedFCOByNameDisp(This,name,inscope,p)

#define IMgaMetaFolder_get_DefinedAttributes(This,p)	\
    (This)->lpVtbl -> get_DefinedAttributes(This,p)

#define IMgaMetaFolder_get_DefinedAttributeByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedAttributeByName(This,name,inscope,p)

#define IMgaMetaFolder_GetDefinedAttributeByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedAttributeByNameDisp(This,name,inscope,p)

#define IMgaMetaFolder_DefineFolder(This,p)	\
    (This)->lpVtbl -> DefineFolder(This,p)

#define IMgaMetaFolder_DefineModel(This,p)	\
    (This)->lpVtbl -> DefineModel(This,p)

#define IMgaMetaFolder_DefineAtom(This,p)	\
    (This)->lpVtbl -> DefineAtom(This,p)

#define IMgaMetaFolder_DefineReference(This,p)	\
    (This)->lpVtbl -> DefineReference(This,p)

#define IMgaMetaFolder_DefineSet(This,p)	\
    (This)->lpVtbl -> DefineSet(This,p)

#define IMgaMetaFolder_DefineConnection(This,p)	\
    (This)->lpVtbl -> DefineConnection(This,p)

#define IMgaMetaFolder_DefineAttribute(This,p)	\
    (This)->lpVtbl -> DefineAttribute(This,p)

#define IMgaMetaFolder_get_LegalChildFolders(This,p)	\
    (This)->lpVtbl -> get_LegalChildFolders(This,p)

#define IMgaMetaFolder_get_LegalChildFolderByName(This,name,p)	\
    (This)->lpVtbl -> get_LegalChildFolderByName(This,name,p)

#define IMgaMetaFolder_GetLegalChildFolderByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetLegalChildFolderByNameDisp(This,name,p)

#define IMgaMetaFolder_get_LegalRootObjects(This,p)	\
    (This)->lpVtbl -> get_LegalRootObjects(This,p)

#define IMgaMetaFolder_get_LegalRootObjectByName(This,name,p)	\
    (This)->lpVtbl -> get_LegalRootObjectByName(This,name,p)

#define IMgaMetaFolder_GetLegalRootObjectByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetLegalRootObjectByNameDisp(This,name,p)

#define IMgaMetaFolder_get_UsedInFolders(This,p)	\
    (This)->lpVtbl -> get_UsedInFolders(This,p)

#define IMgaMetaFolder_AddLegalChildFolder(This,p)	\
    (This)->lpVtbl -> AddLegalChildFolder(This,p)

#define IMgaMetaFolder_RemoveLegalChildFolder(This,p)	\
    (This)->lpVtbl -> RemoveLegalChildFolder(This,p)

#define IMgaMetaFolder_AddLegalRootObject(This,p)	\
    (This)->lpVtbl -> AddLegalRootObject(This,p)

#define IMgaMetaFolder_RemoveLegalRootObject(This,p)	\
    (This)->lpVtbl -> RemoveLegalRootObject(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_DefinedIn_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaMetaFolder_get_DefinedIn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_DefinedFolders_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaFolders **p);


void __RPC_STUB IMgaMetaFolder_get_DefinedFolders_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_DefinedFolderByName_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaMetaFolder_get_DefinedFolderByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_GetDefinedFolderByNameDisp_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaMetaFolder_GetDefinedFolderByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_DefinedFCOs_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaFCOs **p);


void __RPC_STUB IMgaMetaFolder_get_DefinedFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_DefinedFCOByName_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaMetaFolder_get_DefinedFCOByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_GetDefinedFCOByNameDisp_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaMetaFolder_GetDefinedFCOByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_DefinedAttributes_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaAttributes **p);


void __RPC_STUB IMgaMetaFolder_get_DefinedAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_DefinedAttributeByName_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFolder_get_DefinedAttributeByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_GetDefinedAttributeByNameDisp_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFolder_GetDefinedAttributeByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_DefineFolder_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaMetaFolder_DefineFolder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_DefineModel_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaModel **p);


void __RPC_STUB IMgaMetaFolder_DefineModel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_DefineAtom_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaAtom **p);


void __RPC_STUB IMgaMetaFolder_DefineAtom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_DefineReference_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaReference **p);


void __RPC_STUB IMgaMetaFolder_DefineReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_DefineSet_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaSet **p);


void __RPC_STUB IMgaMetaFolder_DefineSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_DefineConnection_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaConnection **p);


void __RPC_STUB IMgaMetaFolder_DefineConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_DefineAttribute_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFolder_DefineAttribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_LegalChildFolders_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaFolders **p);


void __RPC_STUB IMgaMetaFolder_get_LegalChildFolders_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_LegalChildFolderByName_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaMetaFolder_get_LegalChildFolderByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_GetLegalChildFolderByNameDisp_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaMetaFolder_GetLegalChildFolderByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_LegalRootObjects_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaFCOs **p);


void __RPC_STUB IMgaMetaFolder_get_LegalRootObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_LegalRootObjectByName_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaMetaFolder_get_LegalRootObjectByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_GetLegalRootObjectByNameDisp_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaMetaFolder_GetLegalRootObjectByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_get_UsedInFolders_Proxy( 
    IMgaMetaFolder * This,
    /* [retval][out] */ IMgaMetaFolders **p);


void __RPC_STUB IMgaMetaFolder_get_UsedInFolders_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_AddLegalChildFolder_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ IMgaMetaFolder *p);


void __RPC_STUB IMgaMetaFolder_AddLegalChildFolder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_RemoveLegalChildFolder_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ IMgaMetaFolder *p);


void __RPC_STUB IMgaMetaFolder_RemoveLegalChildFolder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_AddLegalRootObject_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ IMgaMetaFCO *p);


void __RPC_STUB IMgaMetaFolder_AddLegalRootObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolder_RemoveLegalRootObject_Proxy( 
    IMgaMetaFolder * This,
    /* [in] */ IMgaMetaFCO *p);


void __RPC_STUB IMgaMetaFolder_RemoveLegalRootObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaFolder_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaFCO_INTERFACE_DEFINED__
#define __IMgaMetaFCO_INTERFACE_DEFINED__

/* interface IMgaMetaFCO */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaFCO;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3247-B758-11D3-ABAE-000000000000")
    IMgaMetaFCO : public IMgaMetaBase
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedIn( 
            /* [retval][out] */ IMgaMetaBase **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedAttributes( 
            /* [retval][out] */ IMgaMetaAttributes **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedAttributeByName( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefinedAttributeByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineAttribute( 
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UsedInRoles( 
            /* [retval][out] */ IMgaMetaRoles **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UsedInFolders( 
            /* [retval][out] */ IMgaMetaFolders **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
            /* [retval][out] */ IMgaMetaAttributes **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AttributeByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttributeByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AttributeByRef( 
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttributeByRefDisp( 
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AliasingEnabled( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddAttribute( 
            /* [in] */ IMgaMetaAttribute *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAttribute( 
            /* [in] */ IMgaMetaAttribute *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AliasingEnabled( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaFCOVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaFCO * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaFCO * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaFCO * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaFCO * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaFCO * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaFCO * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaFCO * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaFCO * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaFCO * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedIn )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaMetaBase **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributes )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributeByName )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedAttributeByNameDisp )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineAttribute )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInRoles )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInFolders )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaMetaFolders **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaMetaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByRef )( 
            IMgaMetaFCO * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByRefDisp )( 
            IMgaMetaFCO * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AliasingEnabled )( 
            IMgaMetaFCO * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IMgaMetaFCO * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttribute )( 
            IMgaMetaFCO * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AliasingEnabled )( 
            IMgaMetaFCO * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        END_INTERFACE
    } IMgaMetaFCOVtbl;

    interface IMgaMetaFCO
    {
        CONST_VTBL struct IMgaMetaFCOVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaFCO_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaFCO_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaFCO_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaFCO_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaFCO_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaFCO_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaFCO_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaFCO_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaFCO_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaFCO_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaFCO_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaFCO_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaFCO_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaFCO_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaFCO_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaFCO_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaFCO_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaFCO_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaFCO_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaFCO_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaFCO_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaFCO_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaFCO_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaFCO_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaFCO_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaFCO_get_DefinedIn(This,p)	\
    (This)->lpVtbl -> get_DefinedIn(This,p)

#define IMgaMetaFCO_get_DefinedAttributes(This,p)	\
    (This)->lpVtbl -> get_DefinedAttributes(This,p)

#define IMgaMetaFCO_get_DefinedAttributeByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedAttributeByName(This,name,inscope,p)

#define IMgaMetaFCO_GetDefinedAttributeByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedAttributeByNameDisp(This,name,inscope,p)

#define IMgaMetaFCO_DefineAttribute(This,p)	\
    (This)->lpVtbl -> DefineAttribute(This,p)

#define IMgaMetaFCO_get_UsedInRoles(This,p)	\
    (This)->lpVtbl -> get_UsedInRoles(This,p)

#define IMgaMetaFCO_get_UsedInFolders(This,p)	\
    (This)->lpVtbl -> get_UsedInFolders(This,p)

#define IMgaMetaFCO_get_Attributes(This,p)	\
    (This)->lpVtbl -> get_Attributes(This,p)

#define IMgaMetaFCO_get_AttributeByName(This,name,p)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,p)

#define IMgaMetaFCO_GetAttributeByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,p)

#define IMgaMetaFCO_get_AttributeByRef(This,mref,p)	\
    (This)->lpVtbl -> get_AttributeByRef(This,mref,p)

#define IMgaMetaFCO_GetAttributeByRefDisp(This,mref,p)	\
    (This)->lpVtbl -> GetAttributeByRefDisp(This,mref,p)

#define IMgaMetaFCO_get_AliasingEnabled(This,pVal)	\
    (This)->lpVtbl -> get_AliasingEnabled(This,pVal)

#define IMgaMetaFCO_AddAttribute(This,p)	\
    (This)->lpVtbl -> AddAttribute(This,p)

#define IMgaMetaFCO_RemoveAttribute(This,p)	\
    (This)->lpVtbl -> RemoveAttribute(This,p)

#define IMgaMetaFCO_put_AliasingEnabled(This,newVal)	\
    (This)->lpVtbl -> put_AliasingEnabled(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_get_DefinedIn_Proxy( 
    IMgaMetaFCO * This,
    /* [retval][out] */ IMgaMetaBase **p);


void __RPC_STUB IMgaMetaFCO_get_DefinedIn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_get_DefinedAttributes_Proxy( 
    IMgaMetaFCO * This,
    /* [retval][out] */ IMgaMetaAttributes **p);


void __RPC_STUB IMgaMetaFCO_get_DefinedAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_get_DefinedAttributeByName_Proxy( 
    IMgaMetaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFCO_get_DefinedAttributeByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_GetDefinedAttributeByNameDisp_Proxy( 
    IMgaMetaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFCO_GetDefinedAttributeByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_DefineAttribute_Proxy( 
    IMgaMetaFCO * This,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFCO_DefineAttribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_get_UsedInRoles_Proxy( 
    IMgaMetaFCO * This,
    /* [retval][out] */ IMgaMetaRoles **p);


void __RPC_STUB IMgaMetaFCO_get_UsedInRoles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_get_UsedInFolders_Proxy( 
    IMgaMetaFCO * This,
    /* [retval][out] */ IMgaMetaFolders **p);


void __RPC_STUB IMgaMetaFCO_get_UsedInFolders_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_get_Attributes_Proxy( 
    IMgaMetaFCO * This,
    /* [retval][out] */ IMgaMetaAttributes **p);


void __RPC_STUB IMgaMetaFCO_get_Attributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_get_AttributeByName_Proxy( 
    IMgaMetaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFCO_get_AttributeByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_GetAttributeByNameDisp_Proxy( 
    IMgaMetaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFCO_GetAttributeByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_get_AttributeByRef_Proxy( 
    IMgaMetaFCO * This,
    /* [in] */ metaref_type mref,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFCO_get_AttributeByRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_GetAttributeByRefDisp_Proxy( 
    IMgaMetaFCO * This,
    /* [in] */ metaref_type mref,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaFCO_GetAttributeByRefDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_get_AliasingEnabled_Proxy( 
    IMgaMetaFCO * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaMetaFCO_get_AliasingEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_AddAttribute_Proxy( 
    IMgaMetaFCO * This,
    /* [in] */ IMgaMetaAttribute *p);


void __RPC_STUB IMgaMetaFCO_AddAttribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_RemoveAttribute_Proxy( 
    IMgaMetaFCO * This,
    /* [in] */ IMgaMetaAttribute *p);


void __RPC_STUB IMgaMetaFCO_RemoveAttribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCO_put_AliasingEnabled_Proxy( 
    IMgaMetaFCO * This,
    /* [in] */ VARIANT_BOOL newVal);


void __RPC_STUB IMgaMetaFCO_put_AliasingEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaFCO_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaModel_INTERFACE_DEFINED__
#define __IMgaMetaModel_INTERFACE_DEFINED__

/* interface IMgaMetaModel */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaModel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3249-B758-11D3-ABAE-000000000000")
    IMgaMetaModel : public IMgaMetaFCO
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedFCOs( 
            /* [retval][out] */ IMgaMetaFCOs **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedFCOByName( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefinedFCOByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineModel( 
            /* [retval][out] */ IMgaMetaModel **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineAtom( 
            /* [retval][out] */ IMgaMetaAtom **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineReference( 
            /* [retval][out] */ IMgaMetaReference **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineSet( 
            /* [retval][out] */ IMgaMetaSet **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DefineConnection( 
            /* [retval][out] */ IMgaMetaConnection **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Roles( 
            /* [retval][out] */ IMgaMetaRoles **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RoleByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRoleByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Aspects( 
            /* [retval][out] */ IMgaMetaAspects **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AspectByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAspect **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAspectByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAspect **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateRole( 
            /* [in] */ IMgaMetaFCO *kind,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAspect( 
            /* [retval][out] */ IMgaMetaAspect **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LegalConnectionRoles( 
            /* [in] */ BSTR paths,
            /* [retval][out] */ IMgaMetaRoles **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LegalReferenceRoles( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRoles **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LegalSetRoles( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRoles **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LegalRoles( 
            /* [in] */ IMgaMetaFCO *kind,
            /* [retval][out] */ IMgaMetaRoles **p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaModelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaModel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaModel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaModel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaModel * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaModel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaModel * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaModel * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaModel * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaModel * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaModel * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaModel * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaModel * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaModel * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedIn )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaBase **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributes )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributeByName )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedAttributeByNameDisp )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineAttribute )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInRoles )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInFolders )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaFolders **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByRef )( 
            IMgaMetaModel * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByRefDisp )( 
            IMgaMetaModel * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AliasingEnabled )( 
            IMgaMetaModel * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IMgaMetaModel * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttribute )( 
            IMgaMetaModel * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AliasingEnabled )( 
            IMgaMetaModel * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedFCOs )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaFCOs **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedFCOByName )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedFCOByNameDisp )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineModel )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaModel **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineAtom )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaAtom **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineReference )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaReference **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineSet )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaSet **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineConnection )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaConnection **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Roles )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoleByName )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRoleByNameDisp )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Aspects )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaAspects **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AspectByName )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAspect **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAspectByNameDisp )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAspect **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateRole )( 
            IMgaMetaModel * This,
            /* [in] */ IMgaMetaFCO *kind,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAspect )( 
            IMgaMetaModel * This,
            /* [retval][out] */ IMgaMetaAspect **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LegalConnectionRoles )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR paths,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LegalReferenceRoles )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LegalSetRoles )( 
            IMgaMetaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LegalRoles )( 
            IMgaMetaModel * This,
            /* [in] */ IMgaMetaFCO *kind,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        END_INTERFACE
    } IMgaMetaModelVtbl;

    interface IMgaMetaModel
    {
        CONST_VTBL struct IMgaMetaModelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaModel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaModel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaModel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaModel_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaModel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaModel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaModel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaModel_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaModel_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaModel_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaModel_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaModel_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaModel_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaModel_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaModel_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaModel_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaModel_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaModel_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaModel_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaModel_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaModel_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaModel_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaModel_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaModel_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaModel_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaModel_get_DefinedIn(This,p)	\
    (This)->lpVtbl -> get_DefinedIn(This,p)

#define IMgaMetaModel_get_DefinedAttributes(This,p)	\
    (This)->lpVtbl -> get_DefinedAttributes(This,p)

#define IMgaMetaModel_get_DefinedAttributeByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedAttributeByName(This,name,inscope,p)

#define IMgaMetaModel_GetDefinedAttributeByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedAttributeByNameDisp(This,name,inscope,p)

#define IMgaMetaModel_DefineAttribute(This,p)	\
    (This)->lpVtbl -> DefineAttribute(This,p)

#define IMgaMetaModel_get_UsedInRoles(This,p)	\
    (This)->lpVtbl -> get_UsedInRoles(This,p)

#define IMgaMetaModel_get_UsedInFolders(This,p)	\
    (This)->lpVtbl -> get_UsedInFolders(This,p)

#define IMgaMetaModel_get_Attributes(This,p)	\
    (This)->lpVtbl -> get_Attributes(This,p)

#define IMgaMetaModel_get_AttributeByName(This,name,p)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,p)

#define IMgaMetaModel_GetAttributeByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,p)

#define IMgaMetaModel_get_AttributeByRef(This,mref,p)	\
    (This)->lpVtbl -> get_AttributeByRef(This,mref,p)

#define IMgaMetaModel_GetAttributeByRefDisp(This,mref,p)	\
    (This)->lpVtbl -> GetAttributeByRefDisp(This,mref,p)

#define IMgaMetaModel_get_AliasingEnabled(This,pVal)	\
    (This)->lpVtbl -> get_AliasingEnabled(This,pVal)

#define IMgaMetaModel_AddAttribute(This,p)	\
    (This)->lpVtbl -> AddAttribute(This,p)

#define IMgaMetaModel_RemoveAttribute(This,p)	\
    (This)->lpVtbl -> RemoveAttribute(This,p)

#define IMgaMetaModel_put_AliasingEnabled(This,newVal)	\
    (This)->lpVtbl -> put_AliasingEnabled(This,newVal)


#define IMgaMetaModel_get_DefinedFCOs(This,p)	\
    (This)->lpVtbl -> get_DefinedFCOs(This,p)

#define IMgaMetaModel_get_DefinedFCOByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedFCOByName(This,name,inscope,p)

#define IMgaMetaModel_GetDefinedFCOByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedFCOByNameDisp(This,name,inscope,p)

#define IMgaMetaModel_DefineModel(This,p)	\
    (This)->lpVtbl -> DefineModel(This,p)

#define IMgaMetaModel_DefineAtom(This,p)	\
    (This)->lpVtbl -> DefineAtom(This,p)

#define IMgaMetaModel_DefineReference(This,p)	\
    (This)->lpVtbl -> DefineReference(This,p)

#define IMgaMetaModel_DefineSet(This,p)	\
    (This)->lpVtbl -> DefineSet(This,p)

#define IMgaMetaModel_DefineConnection(This,p)	\
    (This)->lpVtbl -> DefineConnection(This,p)

#define IMgaMetaModel_get_Roles(This,p)	\
    (This)->lpVtbl -> get_Roles(This,p)

#define IMgaMetaModel_get_RoleByName(This,name,p)	\
    (This)->lpVtbl -> get_RoleByName(This,name,p)

#define IMgaMetaModel_GetRoleByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetRoleByNameDisp(This,name,p)

#define IMgaMetaModel_get_Aspects(This,p)	\
    (This)->lpVtbl -> get_Aspects(This,p)

#define IMgaMetaModel_get_AspectByName(This,name,p)	\
    (This)->lpVtbl -> get_AspectByName(This,name,p)

#define IMgaMetaModel_GetAspectByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetAspectByNameDisp(This,name,p)

#define IMgaMetaModel_CreateRole(This,kind,p)	\
    (This)->lpVtbl -> CreateRole(This,kind,p)

#define IMgaMetaModel_CreateAspect(This,p)	\
    (This)->lpVtbl -> CreateAspect(This,p)

#define IMgaMetaModel_LegalConnectionRoles(This,paths,p)	\
    (This)->lpVtbl -> LegalConnectionRoles(This,paths,p)

#define IMgaMetaModel_LegalReferenceRoles(This,path,p)	\
    (This)->lpVtbl -> LegalReferenceRoles(This,path,p)

#define IMgaMetaModel_LegalSetRoles(This,path,p)	\
    (This)->lpVtbl -> LegalSetRoles(This,path,p)

#define IMgaMetaModel_LegalRoles(This,kind,p)	\
    (This)->lpVtbl -> LegalRoles(This,kind,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_get_DefinedFCOs_Proxy( 
    IMgaMetaModel * This,
    /* [retval][out] */ IMgaMetaFCOs **p);


void __RPC_STUB IMgaMetaModel_get_DefinedFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_get_DefinedFCOByName_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaMetaModel_get_DefinedFCOByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_GetDefinedFCOByNameDisp_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL inscope,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaMetaModel_GetDefinedFCOByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_DefineModel_Proxy( 
    IMgaMetaModel * This,
    /* [retval][out] */ IMgaMetaModel **p);


void __RPC_STUB IMgaMetaModel_DefineModel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_DefineAtom_Proxy( 
    IMgaMetaModel * This,
    /* [retval][out] */ IMgaMetaAtom **p);


void __RPC_STUB IMgaMetaModel_DefineAtom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_DefineReference_Proxy( 
    IMgaMetaModel * This,
    /* [retval][out] */ IMgaMetaReference **p);


void __RPC_STUB IMgaMetaModel_DefineReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_DefineSet_Proxy( 
    IMgaMetaModel * This,
    /* [retval][out] */ IMgaMetaSet **p);


void __RPC_STUB IMgaMetaModel_DefineSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_DefineConnection_Proxy( 
    IMgaMetaModel * This,
    /* [retval][out] */ IMgaMetaConnection **p);


void __RPC_STUB IMgaMetaModel_DefineConnection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_get_Roles_Proxy( 
    IMgaMetaModel * This,
    /* [retval][out] */ IMgaMetaRoles **p);


void __RPC_STUB IMgaMetaModel_get_Roles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_get_RoleByName_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaMetaModel_get_RoleByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_GetRoleByNameDisp_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaMetaModel_GetRoleByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_get_Aspects_Proxy( 
    IMgaMetaModel * This,
    /* [retval][out] */ IMgaMetaAspects **p);


void __RPC_STUB IMgaMetaModel_get_Aspects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_get_AspectByName_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaAspect **p);


void __RPC_STUB IMgaMetaModel_get_AspectByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_GetAspectByNameDisp_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaAspect **p);


void __RPC_STUB IMgaMetaModel_GetAspectByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_CreateRole_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ IMgaMetaFCO *kind,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaMetaModel_CreateRole_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_CreateAspect_Proxy( 
    IMgaMetaModel * This,
    /* [retval][out] */ IMgaMetaAspect **p);


void __RPC_STUB IMgaMetaModel_CreateAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_LegalConnectionRoles_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ BSTR paths,
    /* [retval][out] */ IMgaMetaRoles **p);


void __RPC_STUB IMgaMetaModel_LegalConnectionRoles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_LegalReferenceRoles_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaMetaRoles **p);


void __RPC_STUB IMgaMetaModel_LegalReferenceRoles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_LegalSetRoles_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaMetaRoles **p);


void __RPC_STUB IMgaMetaModel_LegalSetRoles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModel_LegalRoles_Proxy( 
    IMgaMetaModel * This,
    /* [in] */ IMgaMetaFCO *kind,
    /* [retval][out] */ IMgaMetaRoles **p);


void __RPC_STUB IMgaMetaModel_LegalRoles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaModel_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaAspect_INTERFACE_DEFINED__
#define __IMgaMetaAspect_INTERFACE_DEFINED__

/* interface IMgaMetaAspect */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaAspect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA324B-B758-11D3-ABAE-000000000000")
    IMgaMetaAspect : public IMgaMetaBase
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParentModel( 
            /* [retval][out] */ IMgaMetaModel **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parts( 
            /* [retval][out] */ IMgaMetaParts **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
            /* [retval][out] */ IMgaMetaAttributes **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePart( 
            /* [in] */ IMgaMetaRole *role,
            /* [retval][out] */ IMgaMetaPart **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddAttribute( 
            /* [in] */ IMgaMetaAttribute *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAttribute( 
            /* [in] */ IMgaMetaAttribute *p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaAspectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaAspect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaAspect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaAspect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaAspect * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaAspect * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaAspect * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaAspect * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaAspect * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaAspect * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaAspect * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaAspect * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaAspect * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaAspect * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaAspect * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaAspect * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaAspect * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaAspect * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentModel )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ IMgaMetaModel **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parts )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ IMgaMetaParts **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaMetaAspect * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePart )( 
            IMgaMetaAspect * This,
            /* [in] */ IMgaMetaRole *role,
            /* [retval][out] */ IMgaMetaPart **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IMgaMetaAspect * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttribute )( 
            IMgaMetaAspect * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        END_INTERFACE
    } IMgaMetaAspectVtbl;

    interface IMgaMetaAspect
    {
        CONST_VTBL struct IMgaMetaAspectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaAspect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaAspect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaAspect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaAspect_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaAspect_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaAspect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaAspect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaAspect_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaAspect_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaAspect_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaAspect_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaAspect_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaAspect_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaAspect_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaAspect_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaAspect_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaAspect_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaAspect_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaAspect_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaAspect_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaAspect_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaAspect_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaAspect_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaAspect_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaAspect_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaAspect_get_ParentModel(This,p)	\
    (This)->lpVtbl -> get_ParentModel(This,p)

#define IMgaMetaAspect_get_Parts(This,p)	\
    (This)->lpVtbl -> get_Parts(This,p)

#define IMgaMetaAspect_get_Attributes(This,p)	\
    (This)->lpVtbl -> get_Attributes(This,p)

#define IMgaMetaAspect_CreatePart(This,role,p)	\
    (This)->lpVtbl -> CreatePart(This,role,p)

#define IMgaMetaAspect_AddAttribute(This,p)	\
    (This)->lpVtbl -> AddAttribute(This,p)

#define IMgaMetaAspect_RemoveAttribute(This,p)	\
    (This)->lpVtbl -> RemoveAttribute(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspect_get_ParentModel_Proxy( 
    IMgaMetaAspect * This,
    /* [retval][out] */ IMgaMetaModel **p);


void __RPC_STUB IMgaMetaAspect_get_ParentModel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspect_get_Parts_Proxy( 
    IMgaMetaAspect * This,
    /* [retval][out] */ IMgaMetaParts **p);


void __RPC_STUB IMgaMetaAspect_get_Parts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspect_get_Attributes_Proxy( 
    IMgaMetaAspect * This,
    /* [retval][out] */ IMgaMetaAttributes **p);


void __RPC_STUB IMgaMetaAspect_get_Attributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspect_CreatePart_Proxy( 
    IMgaMetaAspect * This,
    /* [in] */ IMgaMetaRole *role,
    /* [retval][out] */ IMgaMetaPart **p);


void __RPC_STUB IMgaMetaAspect_CreatePart_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspect_AddAttribute_Proxy( 
    IMgaMetaAspect * This,
    /* [in] */ IMgaMetaAttribute *p);


void __RPC_STUB IMgaMetaAspect_AddAttribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspect_RemoveAttribute_Proxy( 
    IMgaMetaAspect * This,
    /* [in] */ IMgaMetaAttribute *p);


void __RPC_STUB IMgaMetaAspect_RemoveAttribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaAspect_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaRole_INTERFACE_DEFINED__
#define __IMgaMetaRole_INTERFACE_DEFINED__

/* interface IMgaMetaRole */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaRole;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA324D-B758-11D3-ABAE-000000000000")
    IMgaMetaRole : public IMgaMetaBase
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParentModel( 
            /* [retval][out] */ IMgaMetaModel **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parts( 
            /* [retval][out] */ IMgaMetaParts **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaRoleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaRole * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaRole * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaRole * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaRole * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaRole * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaRole * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaRole * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaRole * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaRole * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaRole * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaRole * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaRole * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaRole * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaRole * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaRole * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaRole * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaRole * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaRole * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaRole * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaRole * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaRole * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaRole * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaRole * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaRole * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaRole * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentModel )( 
            IMgaMetaRole * This,
            /* [retval][out] */ IMgaMetaModel **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parts )( 
            IMgaMetaRole * This,
            /* [retval][out] */ IMgaMetaParts **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IMgaMetaRole * This,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        END_INTERFACE
    } IMgaMetaRoleVtbl;

    interface IMgaMetaRole
    {
        CONST_VTBL struct IMgaMetaRoleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaRole_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaRole_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaRole_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaRole_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaRole_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaRole_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaRole_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaRole_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaRole_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaRole_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaRole_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaRole_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaRole_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaRole_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaRole_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaRole_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaRole_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaRole_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaRole_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaRole_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaRole_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaRole_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaRole_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaRole_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaRole_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaRole_get_ParentModel(This,p)	\
    (This)->lpVtbl -> get_ParentModel(This,p)

#define IMgaMetaRole_get_Parts(This,p)	\
    (This)->lpVtbl -> get_Parts(This,p)

#define IMgaMetaRole_get_Kind(This,p)	\
    (This)->lpVtbl -> get_Kind(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRole_get_ParentModel_Proxy( 
    IMgaMetaRole * This,
    /* [retval][out] */ IMgaMetaModel **p);


void __RPC_STUB IMgaMetaRole_get_ParentModel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRole_get_Parts_Proxy( 
    IMgaMetaRole * This,
    /* [retval][out] */ IMgaMetaParts **p);


void __RPC_STUB IMgaMetaRole_get_Parts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRole_get_Kind_Proxy( 
    IMgaMetaRole * This,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaMetaRole_get_Kind_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaRole_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaPart_INTERFACE_DEFINED__
#define __IMgaMetaPart_INTERFACE_DEFINED__

/* interface IMgaMetaPart */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaPart;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A70CAB45-DD94-11D3-9308-444553540000")
    IMgaMetaPart : public IMgaMetaBase
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Role( 
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParentAspect( 
            /* [retval][out] */ IMgaMetaAspect **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsPrimary( 
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_IsPrimary( 
            /* [in] */ VARIANT_BOOL p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsLinked( 
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_IsLinked( 
            /* [in] */ VARIANT_BOOL p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_KindAspect( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_KindAspect( 
            /* [in] */ BSTR p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaPartVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaPart * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaPart * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaPart * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaPart * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaPart * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaPart * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaPart * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaPart * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaPart * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaPart * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaPart * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaPart * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaPart * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaPart * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaPart * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaPart * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaPart * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaPart * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaPart * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaPart * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaPart * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaPart * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaPart * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaPart * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaPart * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Role )( 
            IMgaMetaPart * This,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentAspect )( 
            IMgaMetaPart * This,
            /* [retval][out] */ IMgaMetaAspect **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimary )( 
            IMgaMetaPart * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPrimary )( 
            IMgaMetaPart * This,
            /* [in] */ VARIANT_BOOL p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLinked )( 
            IMgaMetaPart * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsLinked )( 
            IMgaMetaPart * This,
            /* [in] */ VARIANT_BOOL p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KindAspect )( 
            IMgaMetaPart * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_KindAspect )( 
            IMgaMetaPart * This,
            /* [in] */ BSTR p);
        
        END_INTERFACE
    } IMgaMetaPartVtbl;

    interface IMgaMetaPart
    {
        CONST_VTBL struct IMgaMetaPartVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaPart_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaPart_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaPart_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaPart_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaPart_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaPart_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaPart_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaPart_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaPart_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaPart_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaPart_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaPart_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaPart_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaPart_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaPart_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaPart_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaPart_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaPart_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaPart_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaPart_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaPart_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaPart_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaPart_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaPart_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaPart_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaPart_get_Role(This,p)	\
    (This)->lpVtbl -> get_Role(This,p)

#define IMgaMetaPart_get_ParentAspect(This,p)	\
    (This)->lpVtbl -> get_ParentAspect(This,p)

#define IMgaMetaPart_get_IsPrimary(This,p)	\
    (This)->lpVtbl -> get_IsPrimary(This,p)

#define IMgaMetaPart_put_IsPrimary(This,p)	\
    (This)->lpVtbl -> put_IsPrimary(This,p)

#define IMgaMetaPart_get_IsLinked(This,p)	\
    (This)->lpVtbl -> get_IsLinked(This,p)

#define IMgaMetaPart_put_IsLinked(This,p)	\
    (This)->lpVtbl -> put_IsLinked(This,p)

#define IMgaMetaPart_get_KindAspect(This,p)	\
    (This)->lpVtbl -> get_KindAspect(This,p)

#define IMgaMetaPart_put_KindAspect(This,p)	\
    (This)->lpVtbl -> put_KindAspect(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPart_get_Role_Proxy( 
    IMgaMetaPart * This,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaMetaPart_get_Role_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPart_get_ParentAspect_Proxy( 
    IMgaMetaPart * This,
    /* [retval][out] */ IMgaMetaAspect **p);


void __RPC_STUB IMgaMetaPart_get_ParentAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPart_get_IsPrimary_Proxy( 
    IMgaMetaPart * This,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaMetaPart_get_IsPrimary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaPart_put_IsPrimary_Proxy( 
    IMgaMetaPart * This,
    /* [in] */ VARIANT_BOOL p);


void __RPC_STUB IMgaMetaPart_put_IsPrimary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPart_get_IsLinked_Proxy( 
    IMgaMetaPart * This,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaMetaPart_get_IsLinked_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaPart_put_IsLinked_Proxy( 
    IMgaMetaPart * This,
    /* [in] */ VARIANT_BOOL p);


void __RPC_STUB IMgaMetaPart_put_IsLinked_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPart_get_KindAspect_Proxy( 
    IMgaMetaPart * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaPart_get_KindAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaPart_put_KindAspect_Proxy( 
    IMgaMetaPart * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaPart_put_KindAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaPart_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaAtom_INTERFACE_DEFINED__
#define __IMgaMetaAtom_INTERFACE_DEFINED__

/* interface IMgaMetaAtom */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaAtom;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA324F-B758-11D3-ABAE-000000000000")
    IMgaMetaAtom : public IMgaMetaFCO
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaAtomVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaAtom * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaAtom * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaAtom * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaAtom * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaAtom * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaAtom * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaAtom * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaAtom * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaAtom * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedIn )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaMetaBase **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributes )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributeByName )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedAttributeByNameDisp )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineAttribute )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInRoles )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInFolders )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaMetaFolders **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaMetaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByRef )( 
            IMgaMetaAtom * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByRefDisp )( 
            IMgaMetaAtom * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AliasingEnabled )( 
            IMgaMetaAtom * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IMgaMetaAtom * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttribute )( 
            IMgaMetaAtom * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AliasingEnabled )( 
            IMgaMetaAtom * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        END_INTERFACE
    } IMgaMetaAtomVtbl;

    interface IMgaMetaAtom
    {
        CONST_VTBL struct IMgaMetaAtomVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaAtom_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaAtom_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaAtom_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaAtom_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaAtom_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaAtom_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaAtom_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaAtom_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaAtom_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaAtom_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaAtom_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaAtom_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaAtom_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaAtom_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaAtom_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaAtom_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaAtom_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaAtom_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaAtom_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaAtom_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaAtom_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaAtom_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaAtom_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaAtom_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaAtom_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaAtom_get_DefinedIn(This,p)	\
    (This)->lpVtbl -> get_DefinedIn(This,p)

#define IMgaMetaAtom_get_DefinedAttributes(This,p)	\
    (This)->lpVtbl -> get_DefinedAttributes(This,p)

#define IMgaMetaAtom_get_DefinedAttributeByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedAttributeByName(This,name,inscope,p)

#define IMgaMetaAtom_GetDefinedAttributeByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedAttributeByNameDisp(This,name,inscope,p)

#define IMgaMetaAtom_DefineAttribute(This,p)	\
    (This)->lpVtbl -> DefineAttribute(This,p)

#define IMgaMetaAtom_get_UsedInRoles(This,p)	\
    (This)->lpVtbl -> get_UsedInRoles(This,p)

#define IMgaMetaAtom_get_UsedInFolders(This,p)	\
    (This)->lpVtbl -> get_UsedInFolders(This,p)

#define IMgaMetaAtom_get_Attributes(This,p)	\
    (This)->lpVtbl -> get_Attributes(This,p)

#define IMgaMetaAtom_get_AttributeByName(This,name,p)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,p)

#define IMgaMetaAtom_GetAttributeByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,p)

#define IMgaMetaAtom_get_AttributeByRef(This,mref,p)	\
    (This)->lpVtbl -> get_AttributeByRef(This,mref,p)

#define IMgaMetaAtom_GetAttributeByRefDisp(This,mref,p)	\
    (This)->lpVtbl -> GetAttributeByRefDisp(This,mref,p)

#define IMgaMetaAtom_get_AliasingEnabled(This,pVal)	\
    (This)->lpVtbl -> get_AliasingEnabled(This,pVal)

#define IMgaMetaAtom_AddAttribute(This,p)	\
    (This)->lpVtbl -> AddAttribute(This,p)

#define IMgaMetaAtom_RemoveAttribute(This,p)	\
    (This)->lpVtbl -> RemoveAttribute(This,p)

#define IMgaMetaAtom_put_AliasingEnabled(This,newVal)	\
    (This)->lpVtbl -> put_AliasingEnabled(This,newVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMgaMetaAtom_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaAttribute_INTERFACE_DEFINED__
#define __IMgaMetaAttribute_INTERFACE_DEFINED__

/* interface IMgaMetaAttribute */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaAttribute;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3259-B758-11D3-ABAE-000000000000")
    IMgaMetaAttribute : public IMgaMetaBase
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedIn( 
            /* [retval][out] */ IMgaMetaBase **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UsedIn( 
            /* [retval][out] */ IMgaMetaFCOs **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Viewable( 
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultValue( 
            /* [retval][out] */ VARIANT *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ValueType( 
            /* [retval][out] */ attval_enum *attval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EnumItems( 
            /* [retval][out] */ IMgaMetaEnumItems **p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Viewable( 
            /* [in] */ VARIANT_BOOL p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultValue( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ValueType( 
            /* [in] */ attval_enum attval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateEnumItem( 
            /* [retval][out] */ IMgaMetaEnumItem **p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaAttributeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaAttribute * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaAttribute * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaAttribute * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaAttribute * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaAttribute * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaAttribute * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaAttribute * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaAttribute * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaAttribute * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaAttribute * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaAttribute * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaAttribute * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaAttribute * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaAttribute * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaAttribute * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaAttribute * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaAttribute * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedIn )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ IMgaMetaBase **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedIn )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ IMgaMetaFCOs **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Viewable )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultValue )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ VARIANT *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValueType )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ attval_enum *attval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnumItems )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ IMgaMetaEnumItems **p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Viewable )( 
            IMgaMetaAttribute * This,
            /* [in] */ VARIANT_BOOL p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultValue )( 
            IMgaMetaAttribute * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ValueType )( 
            IMgaMetaAttribute * This,
            /* [in] */ attval_enum attval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateEnumItem )( 
            IMgaMetaAttribute * This,
            /* [retval][out] */ IMgaMetaEnumItem **p);
        
        END_INTERFACE
    } IMgaMetaAttributeVtbl;

    interface IMgaMetaAttribute
    {
        CONST_VTBL struct IMgaMetaAttributeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaAttribute_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaAttribute_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaAttribute_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaAttribute_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaAttribute_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaAttribute_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaAttribute_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaAttribute_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaAttribute_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaAttribute_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaAttribute_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaAttribute_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaAttribute_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaAttribute_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaAttribute_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaAttribute_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaAttribute_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaAttribute_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaAttribute_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaAttribute_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaAttribute_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaAttribute_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaAttribute_get_DefinedIn(This,p)	\
    (This)->lpVtbl -> get_DefinedIn(This,p)

#define IMgaMetaAttribute_get_UsedIn(This,p)	\
    (This)->lpVtbl -> get_UsedIn(This,p)

#define IMgaMetaAttribute_get_Viewable(This,p)	\
    (This)->lpVtbl -> get_Viewable(This,p)

#define IMgaMetaAttribute_get_DefaultValue(This,p)	\
    (This)->lpVtbl -> get_DefaultValue(This,p)

#define IMgaMetaAttribute_get_ValueType(This,attval)	\
    (This)->lpVtbl -> get_ValueType(This,attval)

#define IMgaMetaAttribute_get_EnumItems(This,p)	\
    (This)->lpVtbl -> get_EnumItems(This,p)

#define IMgaMetaAttribute_put_Viewable(This,p)	\
    (This)->lpVtbl -> put_Viewable(This,p)

#define IMgaMetaAttribute_put_DefaultValue(This,p)	\
    (This)->lpVtbl -> put_DefaultValue(This,p)

#define IMgaMetaAttribute_put_ValueType(This,attval)	\
    (This)->lpVtbl -> put_ValueType(This,attval)

#define IMgaMetaAttribute_CreateEnumItem(This,p)	\
    (This)->lpVtbl -> CreateEnumItem(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_get_DefinedIn_Proxy( 
    IMgaMetaAttribute * This,
    /* [retval][out] */ IMgaMetaBase **p);


void __RPC_STUB IMgaMetaAttribute_get_DefinedIn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_get_UsedIn_Proxy( 
    IMgaMetaAttribute * This,
    /* [retval][out] */ IMgaMetaFCOs **p);


void __RPC_STUB IMgaMetaAttribute_get_UsedIn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_get_Viewable_Proxy( 
    IMgaMetaAttribute * This,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaMetaAttribute_get_Viewable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_get_DefaultValue_Proxy( 
    IMgaMetaAttribute * This,
    /* [retval][out] */ VARIANT *p);


void __RPC_STUB IMgaMetaAttribute_get_DefaultValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_get_ValueType_Proxy( 
    IMgaMetaAttribute * This,
    /* [retval][out] */ attval_enum *attval);


void __RPC_STUB IMgaMetaAttribute_get_ValueType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_get_EnumItems_Proxy( 
    IMgaMetaAttribute * This,
    /* [retval][out] */ IMgaMetaEnumItems **p);


void __RPC_STUB IMgaMetaAttribute_get_EnumItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_put_Viewable_Proxy( 
    IMgaMetaAttribute * This,
    /* [in] */ VARIANT_BOOL p);


void __RPC_STUB IMgaMetaAttribute_put_Viewable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_put_DefaultValue_Proxy( 
    IMgaMetaAttribute * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaAttribute_put_DefaultValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_put_ValueType_Proxy( 
    IMgaMetaAttribute * This,
    /* [in] */ attval_enum attval);


void __RPC_STUB IMgaMetaAttribute_put_ValueType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttribute_CreateEnumItem_Proxy( 
    IMgaMetaAttribute * This,
    /* [retval][out] */ IMgaMetaEnumItem **p);


void __RPC_STUB IMgaMetaAttribute_CreateEnumItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaAttribute_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaEnumItem_INTERFACE_DEFINED__
#define __IMgaMetaEnumItem_INTERFACE_DEFINED__

/* interface IMgaMetaEnumItem */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaEnumItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83254259-B758-21D3-7BAE-000000000000")
    IMgaMetaEnumItem : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayedName( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayedName( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ BSTR p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaEnumItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaEnumItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaEnumItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaEnumItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaEnumItem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaEnumItem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaEnumItem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaEnumItem * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMgaMetaEnumItem * This,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaEnumItem * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IMgaMetaEnumItem * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaEnumItem * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            IMgaMetaEnumItem * This,
            /* [in] */ BSTR p);
        
        END_INTERFACE
    } IMgaMetaEnumItemVtbl;

    interface IMgaMetaEnumItem
    {
        CONST_VTBL struct IMgaMetaEnumItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaEnumItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaEnumItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaEnumItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaEnumItem_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaEnumItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaEnumItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaEnumItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaEnumItem_get_Parent(This,p)	\
    (This)->lpVtbl -> get_Parent(This,p)

#define IMgaMetaEnumItem_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaEnumItem_get_Value(This,p)	\
    (This)->lpVtbl -> get_Value(This,p)

#define IMgaMetaEnumItem_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaEnumItem_put_Value(This,p)	\
    (This)->lpVtbl -> put_Value(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItem_get_Parent_Proxy( 
    IMgaMetaEnumItem * This,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaEnumItem_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItem_get_DisplayedName_Proxy( 
    IMgaMetaEnumItem * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaEnumItem_get_DisplayedName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItem_get_Value_Proxy( 
    IMgaMetaEnumItem * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaEnumItem_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItem_put_DisplayedName_Proxy( 
    IMgaMetaEnumItem * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaEnumItem_put_DisplayedName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItem_put_Value_Proxy( 
    IMgaMetaEnumItem * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaEnumItem_put_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaEnumItem_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaReference_INTERFACE_DEFINED__
#define __IMgaMetaReference_INTERFACE_DEFINED__

/* interface IMgaMetaReference */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaReference;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3251-B758-11D3-ABAE-000000000000")
    IMgaMetaReference : public IMgaMetaFCO
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RefSpec( 
            /* [retval][out] */ IMgaMetaPointerSpec **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckPath( 
            /* [in] */ BSTR path,
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaReferenceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaReference * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaReference * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaReference * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaReference * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaReference * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaReference * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaReference * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaReference * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaReference * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaReference * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaReference * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaReference * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaReference * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedIn )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaMetaBase **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributes )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributeByName )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedAttributeByNameDisp )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineAttribute )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInRoles )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInFolders )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaMetaFolders **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByRef )( 
            IMgaMetaReference * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByRefDisp )( 
            IMgaMetaReference * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AliasingEnabled )( 
            IMgaMetaReference * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IMgaMetaReference * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttribute )( 
            IMgaMetaReference * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AliasingEnabled )( 
            IMgaMetaReference * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefSpec )( 
            IMgaMetaReference * This,
            /* [retval][out] */ IMgaMetaPointerSpec **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckPath )( 
            IMgaMetaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        END_INTERFACE
    } IMgaMetaReferenceVtbl;

    interface IMgaMetaReference
    {
        CONST_VTBL struct IMgaMetaReferenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaReference_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaReference_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaReference_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaReference_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaReference_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaReference_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaReference_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaReference_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaReference_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaReference_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaReference_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaReference_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaReference_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaReference_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaReference_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaReference_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaReference_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaReference_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaReference_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaReference_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaReference_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaReference_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaReference_get_DefinedIn(This,p)	\
    (This)->lpVtbl -> get_DefinedIn(This,p)

#define IMgaMetaReference_get_DefinedAttributes(This,p)	\
    (This)->lpVtbl -> get_DefinedAttributes(This,p)

#define IMgaMetaReference_get_DefinedAttributeByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedAttributeByName(This,name,inscope,p)

#define IMgaMetaReference_GetDefinedAttributeByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedAttributeByNameDisp(This,name,inscope,p)

#define IMgaMetaReference_DefineAttribute(This,p)	\
    (This)->lpVtbl -> DefineAttribute(This,p)

#define IMgaMetaReference_get_UsedInRoles(This,p)	\
    (This)->lpVtbl -> get_UsedInRoles(This,p)

#define IMgaMetaReference_get_UsedInFolders(This,p)	\
    (This)->lpVtbl -> get_UsedInFolders(This,p)

#define IMgaMetaReference_get_Attributes(This,p)	\
    (This)->lpVtbl -> get_Attributes(This,p)

#define IMgaMetaReference_get_AttributeByName(This,name,p)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,p)

#define IMgaMetaReference_GetAttributeByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,p)

#define IMgaMetaReference_get_AttributeByRef(This,mref,p)	\
    (This)->lpVtbl -> get_AttributeByRef(This,mref,p)

#define IMgaMetaReference_GetAttributeByRefDisp(This,mref,p)	\
    (This)->lpVtbl -> GetAttributeByRefDisp(This,mref,p)

#define IMgaMetaReference_get_AliasingEnabled(This,pVal)	\
    (This)->lpVtbl -> get_AliasingEnabled(This,pVal)

#define IMgaMetaReference_AddAttribute(This,p)	\
    (This)->lpVtbl -> AddAttribute(This,p)

#define IMgaMetaReference_RemoveAttribute(This,p)	\
    (This)->lpVtbl -> RemoveAttribute(This,p)

#define IMgaMetaReference_put_AliasingEnabled(This,newVal)	\
    (This)->lpVtbl -> put_AliasingEnabled(This,newVal)


#define IMgaMetaReference_get_RefSpec(This,p)	\
    (This)->lpVtbl -> get_RefSpec(This,p)

#define IMgaMetaReference_CheckPath(This,path,p)	\
    (This)->lpVtbl -> CheckPath(This,path,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaReference_get_RefSpec_Proxy( 
    IMgaMetaReference * This,
    /* [retval][out] */ IMgaMetaPointerSpec **p);


void __RPC_STUB IMgaMetaReference_get_RefSpec_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaReference_CheckPath_Proxy( 
    IMgaMetaReference * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaMetaReference_CheckPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaReference_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaSet_INTERFACE_DEFINED__
#define __IMgaMetaSet_INTERFACE_DEFINED__

/* interface IMgaMetaSet */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3253-B758-11D3-ABAE-000000000000")
    IMgaMetaSet : public IMgaMetaFCO
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MemberSpec( 
            /* [retval][out] */ IMgaMetaPointerSpec **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckPath( 
            /* [in] */ BSTR path,
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaSet * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaSet * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaSet * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaSet * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaSet * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaSet * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaSet * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaSet * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaSet * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaSet * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaSet * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedIn )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaMetaBase **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributes )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributeByName )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedAttributeByNameDisp )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineAttribute )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInRoles )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInFolders )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaMetaFolders **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByRef )( 
            IMgaMetaSet * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByRefDisp )( 
            IMgaMetaSet * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AliasingEnabled )( 
            IMgaMetaSet * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IMgaMetaSet * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttribute )( 
            IMgaMetaSet * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AliasingEnabled )( 
            IMgaMetaSet * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemberSpec )( 
            IMgaMetaSet * This,
            /* [retval][out] */ IMgaMetaPointerSpec **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckPath )( 
            IMgaMetaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        END_INTERFACE
    } IMgaMetaSetVtbl;

    interface IMgaMetaSet
    {
        CONST_VTBL struct IMgaMetaSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaSet_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaSet_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaSet_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaSet_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaSet_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaSet_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaSet_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaSet_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaSet_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaSet_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaSet_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaSet_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaSet_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaSet_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaSet_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaSet_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaSet_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaSet_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaSet_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaSet_get_DefinedIn(This,p)	\
    (This)->lpVtbl -> get_DefinedIn(This,p)

#define IMgaMetaSet_get_DefinedAttributes(This,p)	\
    (This)->lpVtbl -> get_DefinedAttributes(This,p)

#define IMgaMetaSet_get_DefinedAttributeByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedAttributeByName(This,name,inscope,p)

#define IMgaMetaSet_GetDefinedAttributeByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedAttributeByNameDisp(This,name,inscope,p)

#define IMgaMetaSet_DefineAttribute(This,p)	\
    (This)->lpVtbl -> DefineAttribute(This,p)

#define IMgaMetaSet_get_UsedInRoles(This,p)	\
    (This)->lpVtbl -> get_UsedInRoles(This,p)

#define IMgaMetaSet_get_UsedInFolders(This,p)	\
    (This)->lpVtbl -> get_UsedInFolders(This,p)

#define IMgaMetaSet_get_Attributes(This,p)	\
    (This)->lpVtbl -> get_Attributes(This,p)

#define IMgaMetaSet_get_AttributeByName(This,name,p)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,p)

#define IMgaMetaSet_GetAttributeByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,p)

#define IMgaMetaSet_get_AttributeByRef(This,mref,p)	\
    (This)->lpVtbl -> get_AttributeByRef(This,mref,p)

#define IMgaMetaSet_GetAttributeByRefDisp(This,mref,p)	\
    (This)->lpVtbl -> GetAttributeByRefDisp(This,mref,p)

#define IMgaMetaSet_get_AliasingEnabled(This,pVal)	\
    (This)->lpVtbl -> get_AliasingEnabled(This,pVal)

#define IMgaMetaSet_AddAttribute(This,p)	\
    (This)->lpVtbl -> AddAttribute(This,p)

#define IMgaMetaSet_RemoveAttribute(This,p)	\
    (This)->lpVtbl -> RemoveAttribute(This,p)

#define IMgaMetaSet_put_AliasingEnabled(This,newVal)	\
    (This)->lpVtbl -> put_AliasingEnabled(This,newVal)


#define IMgaMetaSet_get_MemberSpec(This,p)	\
    (This)->lpVtbl -> get_MemberSpec(This,p)

#define IMgaMetaSet_CheckPath(This,path,p)	\
    (This)->lpVtbl -> CheckPath(This,path,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaSet_get_MemberSpec_Proxy( 
    IMgaMetaSet * This,
    /* [retval][out] */ IMgaMetaPointerSpec **p);


void __RPC_STUB IMgaMetaSet_get_MemberSpec_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaSet_CheckPath_Proxy( 
    IMgaMetaSet * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaMetaSet_CheckPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaSet_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaConnection_INTERFACE_DEFINED__
#define __IMgaMetaConnection_INTERFACE_DEFINED__

/* interface IMgaMetaConnection */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaConnection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3255-B758-11D3-ABAE-000000000000")
    IMgaMetaConnection : public IMgaMetaFCO
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Joints( 
            /* [retval][out] */ IMgaMetaConnJoints **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckPaths( 
            /* [in] */ BSTR paths,
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsSimple( 
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateJoint( 
            /* [retval][out] */ IMgaMetaConnJoint **p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaConnectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaConnection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaConnection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaConnection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaConnection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaConnection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaConnection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaConnection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRef )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ metaref_type *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MetaRef )( 
            IMgaMetaConnection * This,
            /* [in] */ metaref_type p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaProject )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayedName )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayedName )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ objtype_enum *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMgaMetaConnection * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNodes )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaConstraints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateConstraint )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedIn )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaBase **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributes )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedAttributeByName )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefinedAttributeByNameDisp )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL inscope,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DefineAttribute )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInRoles )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedInFolders )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaFolders **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaAttributes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByRef )( 
            IMgaMetaConnection * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByRefDisp )( 
            IMgaMetaConnection * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AliasingEnabled )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IMgaMetaConnection * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttribute )( 
            IMgaMetaConnection * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AliasingEnabled )( 
            IMgaMetaConnection * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Joints )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaConnJoints **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckPaths )( 
            IMgaMetaConnection * This,
            /* [in] */ BSTR paths,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSimple )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateJoint )( 
            IMgaMetaConnection * This,
            /* [retval][out] */ IMgaMetaConnJoint **p);
        
        END_INTERFACE
    } IMgaMetaConnectionVtbl;

    interface IMgaMetaConnection
    {
        CONST_VTBL struct IMgaMetaConnectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaConnection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaConnection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaConnection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaConnection_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaConnection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaConnection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaConnection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaConnection_get_MetaRef(This,p)	\
    (This)->lpVtbl -> get_MetaRef(This,p)

#define IMgaMetaConnection_put_MetaRef(This,p)	\
    (This)->lpVtbl -> put_MetaRef(This,p)

#define IMgaMetaConnection_get_MetaProject(This,p)	\
    (This)->lpVtbl -> get_MetaProject(This,p)

#define IMgaMetaConnection_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaConnection_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaConnection_get_DisplayedName(This,p)	\
    (This)->lpVtbl -> get_DisplayedName(This,p)

#define IMgaMetaConnection_put_DisplayedName(This,p)	\
    (This)->lpVtbl -> put_DisplayedName(This,p)

#define IMgaMetaConnection_get_ObjType(This,p)	\
    (This)->lpVtbl -> get_ObjType(This,p)

#define IMgaMetaConnection_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IMgaMetaConnection_get_RegistryNodes(This,p)	\
    (This)->lpVtbl -> get_RegistryNodes(This,p)

#define IMgaMetaConnection_get_RegistryNode(This,path,p)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,p)

#define IMgaMetaConnection_GetRegistryNodeDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,p)

#define IMgaMetaConnection_get_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,p)

#define IMgaMetaConnection_GetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,p)

#define IMgaMetaConnection_put_RegistryValue(This,path,p)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,p)

#define IMgaMetaConnection_SetRegistryValueDisp(This,path,p)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,p)

#define IMgaMetaConnection_get_Constraints(This,p)	\
    (This)->lpVtbl -> get_Constraints(This,p)

#define IMgaMetaConnection_CreateConstraint(This,p)	\
    (This)->lpVtbl -> CreateConstraint(This,p)


#define IMgaMetaConnection_get_DefinedIn(This,p)	\
    (This)->lpVtbl -> get_DefinedIn(This,p)

#define IMgaMetaConnection_get_DefinedAttributes(This,p)	\
    (This)->lpVtbl -> get_DefinedAttributes(This,p)

#define IMgaMetaConnection_get_DefinedAttributeByName(This,name,inscope,p)	\
    (This)->lpVtbl -> get_DefinedAttributeByName(This,name,inscope,p)

#define IMgaMetaConnection_GetDefinedAttributeByNameDisp(This,name,inscope,p)	\
    (This)->lpVtbl -> GetDefinedAttributeByNameDisp(This,name,inscope,p)

#define IMgaMetaConnection_DefineAttribute(This,p)	\
    (This)->lpVtbl -> DefineAttribute(This,p)

#define IMgaMetaConnection_get_UsedInRoles(This,p)	\
    (This)->lpVtbl -> get_UsedInRoles(This,p)

#define IMgaMetaConnection_get_UsedInFolders(This,p)	\
    (This)->lpVtbl -> get_UsedInFolders(This,p)

#define IMgaMetaConnection_get_Attributes(This,p)	\
    (This)->lpVtbl -> get_Attributes(This,p)

#define IMgaMetaConnection_get_AttributeByName(This,name,p)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,p)

#define IMgaMetaConnection_GetAttributeByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,p)

#define IMgaMetaConnection_get_AttributeByRef(This,mref,p)	\
    (This)->lpVtbl -> get_AttributeByRef(This,mref,p)

#define IMgaMetaConnection_GetAttributeByRefDisp(This,mref,p)	\
    (This)->lpVtbl -> GetAttributeByRefDisp(This,mref,p)

#define IMgaMetaConnection_get_AliasingEnabled(This,pVal)	\
    (This)->lpVtbl -> get_AliasingEnabled(This,pVal)

#define IMgaMetaConnection_AddAttribute(This,p)	\
    (This)->lpVtbl -> AddAttribute(This,p)

#define IMgaMetaConnection_RemoveAttribute(This,p)	\
    (This)->lpVtbl -> RemoveAttribute(This,p)

#define IMgaMetaConnection_put_AliasingEnabled(This,newVal)	\
    (This)->lpVtbl -> put_AliasingEnabled(This,newVal)


#define IMgaMetaConnection_get_Joints(This,p)	\
    (This)->lpVtbl -> get_Joints(This,p)

#define IMgaMetaConnection_CheckPaths(This,paths,p)	\
    (This)->lpVtbl -> CheckPaths(This,paths,p)

#define IMgaMetaConnection_get_IsSimple(This,p)	\
    (This)->lpVtbl -> get_IsSimple(This,p)

#define IMgaMetaConnection_CreateJoint(This,p)	\
    (This)->lpVtbl -> CreateJoint(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnection_get_Joints_Proxy( 
    IMgaMetaConnection * This,
    /* [retval][out] */ IMgaMetaConnJoints **p);


void __RPC_STUB IMgaMetaConnection_get_Joints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnection_CheckPaths_Proxy( 
    IMgaMetaConnection * This,
    /* [in] */ BSTR paths,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaMetaConnection_CheckPaths_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnection_get_IsSimple_Proxy( 
    IMgaMetaConnection * This,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaMetaConnection_get_IsSimple_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnection_CreateJoint_Proxy( 
    IMgaMetaConnection * This,
    /* [retval][out] */ IMgaMetaConnJoint **p);


void __RPC_STUB IMgaMetaConnection_CreateJoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaConnection_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaConnJoint_INTERFACE_DEFINED__
#define __IMgaMetaConnJoint_INTERFACE_DEFINED__

/* interface IMgaMetaConnJoint */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaConnJoint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3257-B758-11D3-ABAE-000000000000")
    IMgaMetaConnJoint : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IMgaMetaConnection **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PointerSpecs( 
            /* [retval][out] */ IMgaMetaPointerSpecs **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PointerSpecByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaPointerSpec **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPointerSpecByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaPointerSpec **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePointerSpec( 
            /* [retval][out] */ IMgaMetaPointerSpec **p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaConnJointVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaConnJoint * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaConnJoint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaConnJoint * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaConnJoint * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaConnJoint * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaConnJoint * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaConnJoint * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMgaMetaConnJoint * This,
            /* [retval][out] */ IMgaMetaConnection **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerSpecs )( 
            IMgaMetaConnJoint * This,
            /* [retval][out] */ IMgaMetaPointerSpecs **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerSpecByName )( 
            IMgaMetaConnJoint * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaPointerSpec **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPointerSpecByNameDisp )( 
            IMgaMetaConnJoint * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaMetaPointerSpec **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePointerSpec )( 
            IMgaMetaConnJoint * This,
            /* [retval][out] */ IMgaMetaPointerSpec **p);
        
        END_INTERFACE
    } IMgaMetaConnJointVtbl;

    interface IMgaMetaConnJoint
    {
        CONST_VTBL struct IMgaMetaConnJointVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaConnJoint_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaConnJoint_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaConnJoint_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaConnJoint_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaConnJoint_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaConnJoint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaConnJoint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaConnJoint_get_Parent(This,p)	\
    (This)->lpVtbl -> get_Parent(This,p)

#define IMgaMetaConnJoint_get_PointerSpecs(This,p)	\
    (This)->lpVtbl -> get_PointerSpecs(This,p)

#define IMgaMetaConnJoint_get_PointerSpecByName(This,name,p)	\
    (This)->lpVtbl -> get_PointerSpecByName(This,name,p)

#define IMgaMetaConnJoint_GetPointerSpecByNameDisp(This,name,p)	\
    (This)->lpVtbl -> GetPointerSpecByNameDisp(This,name,p)

#define IMgaMetaConnJoint_CreatePointerSpec(This,p)	\
    (This)->lpVtbl -> CreatePointerSpec(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoint_get_Parent_Proxy( 
    IMgaMetaConnJoint * This,
    /* [retval][out] */ IMgaMetaConnection **p);


void __RPC_STUB IMgaMetaConnJoint_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoint_get_PointerSpecs_Proxy( 
    IMgaMetaConnJoint * This,
    /* [retval][out] */ IMgaMetaPointerSpecs **p);


void __RPC_STUB IMgaMetaConnJoint_get_PointerSpecs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoint_get_PointerSpecByName_Proxy( 
    IMgaMetaConnJoint * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaPointerSpec **p);


void __RPC_STUB IMgaMetaConnJoint_get_PointerSpecByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoint_GetPointerSpecByNameDisp_Proxy( 
    IMgaMetaConnJoint * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaMetaPointerSpec **p);


void __RPC_STUB IMgaMetaConnJoint_GetPointerSpecByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoint_CreatePointerSpec_Proxy( 
    IMgaMetaConnJoint * This,
    /* [retval][out] */ IMgaMetaPointerSpec **p);


void __RPC_STUB IMgaMetaConnJoint_CreatePointerSpec_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaConnJoint_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaPointerSpec_INTERFACE_DEFINED__
#define __IMgaMetaPointerSpec_INTERFACE_DEFINED__

/* interface IMgaMetaPointerSpec */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaPointerSpec;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA325B-B758-11D3-ABAE-000000000000")
    IMgaMetaPointerSpec : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Items( 
            /* [retval][out] */ IMgaMetaPointerItems **p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateItem( 
            /* [retval][out] */ IMgaMetaPointerItem **p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaPointerSpecVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaPointerSpec * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaPointerSpec * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaPointerSpec * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaPointerSpec * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaPointerSpec * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaPointerSpec * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaPointerSpec * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMgaMetaPointerSpec * This,
            /* [retval][out] */ IDispatch **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaMetaPointerSpec * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Items )( 
            IMgaMetaPointerSpec * This,
            /* [retval][out] */ IMgaMetaPointerItems **p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaMetaPointerSpec * This,
            /* [in] */ BSTR p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateItem )( 
            IMgaMetaPointerSpec * This,
            /* [retval][out] */ IMgaMetaPointerItem **p);
        
        END_INTERFACE
    } IMgaMetaPointerSpecVtbl;

    interface IMgaMetaPointerSpec
    {
        CONST_VTBL struct IMgaMetaPointerSpecVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaPointerSpec_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaPointerSpec_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaPointerSpec_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaPointerSpec_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaPointerSpec_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaPointerSpec_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaPointerSpec_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaPointerSpec_get_Parent(This,p)	\
    (This)->lpVtbl -> get_Parent(This,p)

#define IMgaMetaPointerSpec_get_Name(This,p)	\
    (This)->lpVtbl -> get_Name(This,p)

#define IMgaMetaPointerSpec_get_Items(This,p)	\
    (This)->lpVtbl -> get_Items(This,p)

#define IMgaMetaPointerSpec_put_Name(This,p)	\
    (This)->lpVtbl -> put_Name(This,p)

#define IMgaMetaPointerSpec_CreateItem(This,p)	\
    (This)->lpVtbl -> CreateItem(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpec_get_Parent_Proxy( 
    IMgaMetaPointerSpec * This,
    /* [retval][out] */ IDispatch **p);


void __RPC_STUB IMgaMetaPointerSpec_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpec_get_Name_Proxy( 
    IMgaMetaPointerSpec * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaPointerSpec_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpec_get_Items_Proxy( 
    IMgaMetaPointerSpec * This,
    /* [retval][out] */ IMgaMetaPointerItems **p);


void __RPC_STUB IMgaMetaPointerSpec_get_Items_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpec_put_Name_Proxy( 
    IMgaMetaPointerSpec * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaPointerSpec_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpec_CreateItem_Proxy( 
    IMgaMetaPointerSpec * This,
    /* [retval][out] */ IMgaMetaPointerItem **p);


void __RPC_STUB IMgaMetaPointerSpec_CreateItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaPointerSpec_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaPointerItem_INTERFACE_DEFINED__
#define __IMgaMetaPointerItem_INTERFACE_DEFINED__

/* interface IMgaMetaPointerItem */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaPointerItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83518A5B-B758-11D3-ABAE-006928360000")
    IMgaMetaPointerItem : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IMgaMetaPointerSpec **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Desc( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Desc( 
            /* [in] */ BSTR p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaPointerItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaPointerItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaPointerItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaPointerItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaPointerItem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaPointerItem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaPointerItem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaPointerItem * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMgaMetaPointerItem * This,
            /* [retval][out] */ IMgaMetaPointerSpec **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Desc )( 
            IMgaMetaPointerItem * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Desc )( 
            IMgaMetaPointerItem * This,
            /* [in] */ BSTR p);
        
        END_INTERFACE
    } IMgaMetaPointerItemVtbl;

    interface IMgaMetaPointerItem
    {
        CONST_VTBL struct IMgaMetaPointerItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaPointerItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaPointerItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaPointerItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaPointerItem_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaPointerItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaPointerItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaPointerItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaPointerItem_get_Parent(This,p)	\
    (This)->lpVtbl -> get_Parent(This,p)

#define IMgaMetaPointerItem_get_Desc(This,p)	\
    (This)->lpVtbl -> get_Desc(This,p)

#define IMgaMetaPointerItem_put_Desc(This,p)	\
    (This)->lpVtbl -> put_Desc(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItem_get_Parent_Proxy( 
    IMgaMetaPointerItem * This,
    /* [retval][out] */ IMgaMetaPointerSpec **p);


void __RPC_STUB IMgaMetaPointerItem_get_Parent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItem_get_Desc_Proxy( 
    IMgaMetaPointerItem * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaMetaPointerItem_get_Desc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItem_put_Desc_Proxy( 
    IMgaMetaPointerItem * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaMetaPointerItem_put_Desc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaPointerItem_INTERFACE_DEFINED__ */


#ifndef __IMgaMetaAspects_INTERFACE_DEFINED__
#define __IMgaMetaAspects_INTERFACE_DEFINED__

/* interface IMgaMetaAspects */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaAspects;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c61352b0-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaMetaAspects : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaAspect **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaAspect **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaAspect *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaAspect *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaAspect *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaAspectsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaAspects * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaAspects * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaAspects * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaAspects * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaAspects * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaAspects * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaAspects * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaAspects * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaAspects * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaAspect **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaAspects * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaAspects * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaAspect **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaAspects * This,
            /* [in] */ IMgaMetaAspect *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaAspects * This,
            /* [in] */ IMgaMetaAspect *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaAspects * This,
            /* [in] */ IMgaMetaAspect *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaAspects * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaAspectsVtbl;

    interface IMgaMetaAspects
    {
        CONST_VTBL struct IMgaMetaAspectsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaAspects_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaAspects_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaAspects_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaAspects_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaAspects_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaAspects_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaAspects_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaAspects_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaAspects_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaAspects_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaAspects_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaAspects_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaAspects_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaAspects_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaAspects_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspects_get_Count_Proxy( 
    IMgaMetaAspects * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaAspects_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspects_get_Item_Proxy( 
    IMgaMetaAspects * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaAspect **p);


void __RPC_STUB IMgaMetaAspects_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspects_get__NewEnum_Proxy( 
    IMgaMetaAspects * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaAspects_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspects_GetAll_Proxy( 
    IMgaMetaAspects * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaAspect **p);


void __RPC_STUB IMgaMetaAspects_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspects_Insert_Proxy( 
    IMgaMetaAspects * This,
    /* [in] */ IMgaMetaAspect *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaAspects_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspects_Append_Proxy( 
    IMgaMetaAspects * This,
    /* [in] */ IMgaMetaAspect *p);


void __RPC_STUB IMgaMetaAspects_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspects_Find_Proxy( 
    IMgaMetaAspects * This,
    /* [in] */ IMgaMetaAspect *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaAspects_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAspects_Remove_Proxy( 
    IMgaMetaAspects * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaAspects_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaAspects_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0281 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaAspects>
{ typedef IMgaMetaAspects collection_type; typedef IMgaMetaAspect element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaAspect>
{ typedef IMgaMetaAspects collection_type; typedef IMgaMetaAspect element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0281_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0281_v0_0_s_ifspec;

#ifndef __IMgaMetaRoles_INTERFACE_DEFINED__
#define __IMgaMetaRoles_INTERFACE_DEFINED__

/* interface IMgaMetaRoles */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaRoles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c851e130-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaMetaRoles : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaRole *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaRole *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaRole *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaRolesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaRoles * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaRoles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaRoles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaRoles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaRoles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaRoles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaRoles * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaRoles * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaRoles * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaRoles * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaRoles * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaRole **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaRoles * This,
            /* [in] */ IMgaMetaRole *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaRoles * This,
            /* [in] */ IMgaMetaRole *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaRoles * This,
            /* [in] */ IMgaMetaRole *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaRoles * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaRolesVtbl;

    interface IMgaMetaRoles
    {
        CONST_VTBL struct IMgaMetaRolesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaRoles_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaRoles_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaRoles_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaRoles_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaRoles_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaRoles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaRoles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaRoles_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaRoles_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaRoles_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaRoles_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaRoles_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaRoles_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaRoles_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaRoles_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRoles_get_Count_Proxy( 
    IMgaMetaRoles * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaRoles_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRoles_get_Item_Proxy( 
    IMgaMetaRoles * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaMetaRoles_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRoles_get__NewEnum_Proxy( 
    IMgaMetaRoles * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaRoles_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRoles_GetAll_Proxy( 
    IMgaMetaRoles * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaMetaRoles_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRoles_Insert_Proxy( 
    IMgaMetaRoles * This,
    /* [in] */ IMgaMetaRole *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaRoles_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRoles_Append_Proxy( 
    IMgaMetaRoles * This,
    /* [in] */ IMgaMetaRole *p);


void __RPC_STUB IMgaMetaRoles_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRoles_Find_Proxy( 
    IMgaMetaRoles * This,
    /* [in] */ IMgaMetaRole *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaRoles_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRoles_Remove_Proxy( 
    IMgaMetaRoles * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaRoles_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaRoles_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0282 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaRoles>
{ typedef IMgaMetaRoles collection_type; typedef IMgaMetaRole element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaRole>
{ typedef IMgaMetaRoles collection_type; typedef IMgaMetaRole element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0282_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0282_v0_0_s_ifspec;

#ifndef __IMgaMetaFCOs_INTERFACE_DEFINED__
#define __IMgaMetaFCOs_INTERFACE_DEFINED__

/* interface IMgaMetaFCOs */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaFCOs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c66a6c60-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaMetaFCOs : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaFCO *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaFCO *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaFCO *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaFCOsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaFCOs * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaFCOs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaFCOs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaFCOs * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaFCOs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaFCOs * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaFCOs * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaFCOs * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaFCOs * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaFCOs * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaFCOs * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaFCO **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaFCOs * This,
            /* [in] */ IMgaMetaFCO *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaFCOs * This,
            /* [in] */ IMgaMetaFCO *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaFCOs * This,
            /* [in] */ IMgaMetaFCO *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaFCOs * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaFCOsVtbl;

    interface IMgaMetaFCOs
    {
        CONST_VTBL struct IMgaMetaFCOsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaFCOs_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaFCOs_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaFCOs_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaFCOs_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaFCOs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaFCOs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaFCOs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaFCOs_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaFCOs_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaFCOs_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaFCOs_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaFCOs_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaFCOs_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaFCOs_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaFCOs_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCOs_get_Count_Proxy( 
    IMgaMetaFCOs * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaFCOs_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCOs_get_Item_Proxy( 
    IMgaMetaFCOs * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaMetaFCOs_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCOs_get__NewEnum_Proxy( 
    IMgaMetaFCOs * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaFCOs_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCOs_GetAll_Proxy( 
    IMgaMetaFCOs * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaMetaFCOs_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCOs_Insert_Proxy( 
    IMgaMetaFCOs * This,
    /* [in] */ IMgaMetaFCO *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaFCOs_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCOs_Append_Proxy( 
    IMgaMetaFCOs * This,
    /* [in] */ IMgaMetaFCO *p);


void __RPC_STUB IMgaMetaFCOs_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCOs_Find_Proxy( 
    IMgaMetaFCOs * This,
    /* [in] */ IMgaMetaFCO *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaFCOs_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFCOs_Remove_Proxy( 
    IMgaMetaFCOs * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaFCOs_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaFCOs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0283 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaFCOs>
{ typedef IMgaMetaFCOs collection_type; typedef IMgaMetaFCO element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaFCO>
{ typedef IMgaMetaFCOs collection_type; typedef IMgaMetaFCO element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0283_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0283_v0_0_s_ifspec;

#ifndef __IMgaMetaAttributes_INTERFACE_DEFINED__
#define __IMgaMetaAttributes_INTERFACE_DEFINED__

/* interface IMgaMetaAttributes */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaAttributes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c6922740-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaMetaAttributes : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaAttribute *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaAttribute *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaAttribute *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaAttributesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaAttributes * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaAttributes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaAttributes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaAttributes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaAttributes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaAttributes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaAttributes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaAttributes * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaAttributes * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaAttributes * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaAttributes * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaAttributes * This,
            /* [in] */ IMgaMetaAttribute *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaAttributes * This,
            /* [in] */ IMgaMetaAttribute *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaAttributes * This,
            /* [in] */ IMgaMetaAttribute *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaAttributes * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaAttributesVtbl;

    interface IMgaMetaAttributes
    {
        CONST_VTBL struct IMgaMetaAttributesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaAttributes_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaAttributes_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaAttributes_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaAttributes_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaAttributes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaAttributes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaAttributes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaAttributes_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaAttributes_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaAttributes_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaAttributes_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaAttributes_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaAttributes_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaAttributes_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaAttributes_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttributes_get_Count_Proxy( 
    IMgaMetaAttributes * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaAttributes_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttributes_get_Item_Proxy( 
    IMgaMetaAttributes * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaAttributes_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttributes_get__NewEnum_Proxy( 
    IMgaMetaAttributes * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaAttributes_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttributes_GetAll_Proxy( 
    IMgaMetaAttributes * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaMetaAttributes_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttributes_Insert_Proxy( 
    IMgaMetaAttributes * This,
    /* [in] */ IMgaMetaAttribute *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaAttributes_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttributes_Append_Proxy( 
    IMgaMetaAttributes * This,
    /* [in] */ IMgaMetaAttribute *p);


void __RPC_STUB IMgaMetaAttributes_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttributes_Find_Proxy( 
    IMgaMetaAttributes * This,
    /* [in] */ IMgaMetaAttribute *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaAttributes_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaAttributes_Remove_Proxy( 
    IMgaMetaAttributes * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaAttributes_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaAttributes_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0284 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaAttributes>
{ typedef IMgaMetaAttributes collection_type; typedef IMgaMetaAttribute element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaAttribute>
{ typedef IMgaMetaAttributes collection_type; typedef IMgaMetaAttribute element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0284_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0284_v0_0_s_ifspec;

#ifndef __IMgaMetaFolders_INTERFACE_DEFINED__
#define __IMgaMetaFolders_INTERFACE_DEFINED__

/* interface IMgaMetaFolders */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaFolders;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c6b85af0-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaMetaFolders : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaFolder *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaFolder *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaFolder *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaFoldersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaFolders * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaFolders * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaFolders * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaFolders * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaFolders * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaFolders * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaFolders * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaFolders * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaFolders * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaFolders * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaFolders * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaFolder **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaFolders * This,
            /* [in] */ IMgaMetaFolder *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaFolders * This,
            /* [in] */ IMgaMetaFolder *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaFolders * This,
            /* [in] */ IMgaMetaFolder *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaFolders * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaFoldersVtbl;

    interface IMgaMetaFolders
    {
        CONST_VTBL struct IMgaMetaFoldersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaFolders_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaFolders_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaFolders_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaFolders_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaFolders_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaFolders_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaFolders_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaFolders_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaFolders_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaFolders_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaFolders_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaFolders_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaFolders_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaFolders_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaFolders_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolders_get_Count_Proxy( 
    IMgaMetaFolders * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaFolders_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolders_get_Item_Proxy( 
    IMgaMetaFolders * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaMetaFolders_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolders_get__NewEnum_Proxy( 
    IMgaMetaFolders * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaFolders_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolders_GetAll_Proxy( 
    IMgaMetaFolders * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaMetaFolders_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolders_Insert_Proxy( 
    IMgaMetaFolders * This,
    /* [in] */ IMgaMetaFolder *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaFolders_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolders_Append_Proxy( 
    IMgaMetaFolders * This,
    /* [in] */ IMgaMetaFolder *p);


void __RPC_STUB IMgaMetaFolders_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolders_Find_Proxy( 
    IMgaMetaFolders * This,
    /* [in] */ IMgaMetaFolder *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaFolders_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaFolders_Remove_Proxy( 
    IMgaMetaFolders * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaFolders_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaFolders_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0285 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaFolders>
{ typedef IMgaMetaFolders collection_type; typedef IMgaMetaFolder element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaFolder>
{ typedef IMgaMetaFolders collection_type; typedef IMgaMetaFolder element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0285_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0285_v0_0_s_ifspec;

#ifndef __IMgaMetaPointerSpecs_INTERFACE_DEFINED__
#define __IMgaMetaPointerSpecs_INTERFACE_DEFINED__

/* interface IMgaMetaPointerSpecs */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaPointerSpecs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c761f8c0-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaMetaPointerSpecs : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaPointerSpec **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaPointerSpec **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaPointerSpec *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaPointerSpec *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaPointerSpec *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaPointerSpecsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaPointerSpecs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaPointerSpecs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaPointerSpecs * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaPointerSpecs * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaPointerSpec **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaPointerSpecs * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaPointerSpec **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ IMgaMetaPointerSpec *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ IMgaMetaPointerSpec *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ IMgaMetaPointerSpec *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaPointerSpecs * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaPointerSpecsVtbl;

    interface IMgaMetaPointerSpecs
    {
        CONST_VTBL struct IMgaMetaPointerSpecsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaPointerSpecs_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaPointerSpecs_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaPointerSpecs_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaPointerSpecs_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaPointerSpecs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaPointerSpecs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaPointerSpecs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaPointerSpecs_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaPointerSpecs_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaPointerSpecs_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaPointerSpecs_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaPointerSpecs_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaPointerSpecs_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaPointerSpecs_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaPointerSpecs_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpecs_get_Count_Proxy( 
    IMgaMetaPointerSpecs * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaPointerSpecs_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpecs_get_Item_Proxy( 
    IMgaMetaPointerSpecs * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaPointerSpec **p);


void __RPC_STUB IMgaMetaPointerSpecs_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpecs_get__NewEnum_Proxy( 
    IMgaMetaPointerSpecs * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaPointerSpecs_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpecs_GetAll_Proxy( 
    IMgaMetaPointerSpecs * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaPointerSpec **p);


void __RPC_STUB IMgaMetaPointerSpecs_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpecs_Insert_Proxy( 
    IMgaMetaPointerSpecs * This,
    /* [in] */ IMgaMetaPointerSpec *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaPointerSpecs_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpecs_Append_Proxy( 
    IMgaMetaPointerSpecs * This,
    /* [in] */ IMgaMetaPointerSpec *p);


void __RPC_STUB IMgaMetaPointerSpecs_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpecs_Find_Proxy( 
    IMgaMetaPointerSpecs * This,
    /* [in] */ IMgaMetaPointerSpec *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaPointerSpecs_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerSpecs_Remove_Proxy( 
    IMgaMetaPointerSpecs * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaPointerSpecs_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaPointerSpecs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0286 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaPointerSpecs>
{ typedef IMgaMetaPointerSpecs collection_type; typedef IMgaMetaPointerSpec element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaPointerSpec>
{ typedef IMgaMetaPointerSpecs collection_type; typedef IMgaMetaPointerSpec element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0286_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0286_v0_0_s_ifspec;

#ifndef __IMgaMetaRegNodes_INTERFACE_DEFINED__
#define __IMgaMetaRegNodes_INTERFACE_DEFINED__

/* interface IMgaMetaRegNodes */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaRegNodes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c795ed20-c1fd-11d3-9ad2-00aa00b6fe27")
    IMgaMetaRegNodes : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaRegNode **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaRegNode **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaRegNode *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaRegNode *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaRegNode *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaRegNodesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaRegNodes * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaRegNodes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaRegNodes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaRegNodes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaRegNodes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaRegNodes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaRegNodes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaRegNodes * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaRegNodes * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaRegNodes * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaRegNodes * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaRegNodes * This,
            /* [in] */ IMgaMetaRegNode *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaRegNodes * This,
            /* [in] */ IMgaMetaRegNode *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaRegNodes * This,
            /* [in] */ IMgaMetaRegNode *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaRegNodes * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaRegNodesVtbl;

    interface IMgaMetaRegNodes
    {
        CONST_VTBL struct IMgaMetaRegNodesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaRegNodes_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaRegNodes_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaRegNodes_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaRegNodes_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaRegNodes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaRegNodes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaRegNodes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaRegNodes_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaRegNodes_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaRegNodes_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaRegNodes_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaRegNodes_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaRegNodes_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaRegNodes_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaRegNodes_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNodes_get_Count_Proxy( 
    IMgaMetaRegNodes * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaRegNodes_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNodes_get_Item_Proxy( 
    IMgaMetaRegNodes * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaRegNode **p);


void __RPC_STUB IMgaMetaRegNodes_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNodes_get__NewEnum_Proxy( 
    IMgaMetaRegNodes * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaRegNodes_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNodes_GetAll_Proxy( 
    IMgaMetaRegNodes * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaRegNode **p);


void __RPC_STUB IMgaMetaRegNodes_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNodes_Insert_Proxy( 
    IMgaMetaRegNodes * This,
    /* [in] */ IMgaMetaRegNode *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaRegNodes_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNodes_Append_Proxy( 
    IMgaMetaRegNodes * This,
    /* [in] */ IMgaMetaRegNode *p);


void __RPC_STUB IMgaMetaRegNodes_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNodes_Find_Proxy( 
    IMgaMetaRegNodes * This,
    /* [in] */ IMgaMetaRegNode *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaRegNodes_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaRegNodes_Remove_Proxy( 
    IMgaMetaRegNodes * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaRegNodes_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaRegNodes_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0287 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaRegNodes>
{ typedef IMgaMetaRegNodes collection_type; typedef IMgaMetaRegNode element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaRegNode>
{ typedef IMgaMetaRegNodes collection_type; typedef IMgaMetaRegNode element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0287_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0287_v0_0_s_ifspec;

#ifndef __IMgaConstraints_INTERFACE_DEFINED__
#define __IMgaConstraints_INTERFACE_DEFINED__

/* interface IMgaConstraints */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaConstraints;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8ec3720-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaConstraints : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaConstraint **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaConstraint **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaConstraint *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaConstraint *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaConstraint *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaConstraintsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaConstraints * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaConstraints * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaConstraints * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaConstraints * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaConstraints * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaConstraints * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaConstraints * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaConstraints * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaConstraints * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaConstraint **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaConstraints * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaConstraints * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaConstraint **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaConstraints * This,
            /* [in] */ IMgaConstraint *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaConstraints * This,
            /* [in] */ IMgaConstraint *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaConstraints * This,
            /* [in] */ IMgaConstraint *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaConstraints * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaConstraintsVtbl;

    interface IMgaConstraints
    {
        CONST_VTBL struct IMgaConstraintsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaConstraints_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaConstraints_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaConstraints_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaConstraints_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaConstraints_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaConstraints_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaConstraints_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaConstraints_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaConstraints_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaConstraints_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaConstraints_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaConstraints_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaConstraints_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaConstraints_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaConstraints_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraints_get_Count_Proxy( 
    IMgaConstraints * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaConstraints_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraints_get_Item_Proxy( 
    IMgaConstraints * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaConstraint **p);


void __RPC_STUB IMgaConstraints_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaConstraints_get__NewEnum_Proxy( 
    IMgaConstraints * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaConstraints_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConstraints_GetAll_Proxy( 
    IMgaConstraints * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaConstraint **p);


void __RPC_STUB IMgaConstraints_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConstraints_Insert_Proxy( 
    IMgaConstraints * This,
    /* [in] */ IMgaConstraint *p,
    /* [in] */ long at);


void __RPC_STUB IMgaConstraints_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConstraints_Append_Proxy( 
    IMgaConstraints * This,
    /* [in] */ IMgaConstraint *p);


void __RPC_STUB IMgaConstraints_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConstraints_Find_Proxy( 
    IMgaConstraints * This,
    /* [in] */ IMgaConstraint *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaConstraints_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConstraints_Remove_Proxy( 
    IMgaConstraints * This,
    /* [in] */ long n);


void __RPC_STUB IMgaConstraints_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaConstraints_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0288 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaConstraints>
{ typedef IMgaConstraints collection_type; typedef IMgaConstraint element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaConstraint>
{ typedef IMgaConstraints collection_type; typedef IMgaConstraint element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0288_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0288_v0_0_s_ifspec;

#ifndef __IMgaMetaParts_INTERFACE_DEFINED__
#define __IMgaMetaParts_INTERFACE_DEFINED__

/* interface IMgaMetaParts */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaParts;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8ec3720-c1fd-11d3-9ad2-00aa00b6fe27")
    IMgaMetaParts : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaPart **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaPart **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaPart *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaPart *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaPart *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaPartsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaParts * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaParts * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaParts * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaParts * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaParts * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaParts * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaParts * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaParts * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaParts * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaPart **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaParts * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaParts * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaPart **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaParts * This,
            /* [in] */ IMgaMetaPart *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaParts * This,
            /* [in] */ IMgaMetaPart *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaParts * This,
            /* [in] */ IMgaMetaPart *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaParts * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaPartsVtbl;

    interface IMgaMetaParts
    {
        CONST_VTBL struct IMgaMetaPartsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaParts_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaParts_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaParts_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaParts_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaParts_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaParts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaParts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaParts_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaParts_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaParts_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaParts_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaParts_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaParts_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaParts_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaParts_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaParts_get_Count_Proxy( 
    IMgaMetaParts * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaParts_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaParts_get_Item_Proxy( 
    IMgaMetaParts * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaPart **p);


void __RPC_STUB IMgaMetaParts_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaParts_get__NewEnum_Proxy( 
    IMgaMetaParts * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaParts_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaParts_GetAll_Proxy( 
    IMgaMetaParts * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaPart **p);


void __RPC_STUB IMgaMetaParts_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaParts_Insert_Proxy( 
    IMgaMetaParts * This,
    /* [in] */ IMgaMetaPart *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaParts_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaParts_Append_Proxy( 
    IMgaMetaParts * This,
    /* [in] */ IMgaMetaPart *p);


void __RPC_STUB IMgaMetaParts_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaParts_Find_Proxy( 
    IMgaMetaParts * This,
    /* [in] */ IMgaMetaPart *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaParts_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaParts_Remove_Proxy( 
    IMgaMetaParts * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaParts_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaParts_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0289 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaParts>
{ typedef IMgaMetaParts collection_type; typedef IMgaMetaPart element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaPart>
{ typedef IMgaMetaParts collection_type; typedef IMgaMetaPart element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0289_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0289_v0_0_s_ifspec;

#ifndef __IMgaMetaModels_INTERFACE_DEFINED__
#define __IMgaMetaModels_INTERFACE_DEFINED__

/* interface IMgaMetaModels */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaModels;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8ec3723-c1fd-11d3-9ad2-00aa00b6fe27")
    IMgaMetaModels : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaModel **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaModel **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaModel *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaModel *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaModel *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaModelsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaModels * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaModels * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaModels * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaModels * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaModels * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaModels * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaModels * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaModels * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaModels * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaModel **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaModels * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaModels * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaModel **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaModels * This,
            /* [in] */ IMgaMetaModel *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaModels * This,
            /* [in] */ IMgaMetaModel *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaModels * This,
            /* [in] */ IMgaMetaModel *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaModels * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaModelsVtbl;

    interface IMgaMetaModels
    {
        CONST_VTBL struct IMgaMetaModelsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaModels_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaModels_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaModels_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaModels_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaModels_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaModels_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaModels_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaModels_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaModels_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaModels_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaModels_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaModels_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaModels_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaModels_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaModels_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaModels_get_Count_Proxy( 
    IMgaMetaModels * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaModels_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaModels_get_Item_Proxy( 
    IMgaMetaModels * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaModel **p);


void __RPC_STUB IMgaMetaModels_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaModels_get__NewEnum_Proxy( 
    IMgaMetaModels * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaModels_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModels_GetAll_Proxy( 
    IMgaMetaModels * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaModel **p);


void __RPC_STUB IMgaMetaModels_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModels_Insert_Proxy( 
    IMgaMetaModels * This,
    /* [in] */ IMgaMetaModel *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaModels_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModels_Append_Proxy( 
    IMgaMetaModels * This,
    /* [in] */ IMgaMetaModel *p);


void __RPC_STUB IMgaMetaModels_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModels_Find_Proxy( 
    IMgaMetaModels * This,
    /* [in] */ IMgaMetaModel *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaModels_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaModels_Remove_Proxy( 
    IMgaMetaModels * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaModels_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaModels_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0290 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaModels>
{ typedef IMgaMetaModels collection_type; typedef IMgaMetaModel element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaModel>
{ typedef IMgaMetaModels collection_type; typedef IMgaMetaModel element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0290_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0290_v0_0_s_ifspec;

#ifndef __IMgaMetaConnJoints_INTERFACE_DEFINED__
#define __IMgaMetaConnJoints_INTERFACE_DEFINED__

/* interface IMgaMetaConnJoints */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaConnJoints;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8432623-c1fd-11d3-9ad2-00aa00b6fe27")
    IMgaMetaConnJoints : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaConnJoint **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaConnJoint **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaConnJoint *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaConnJoint *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaConnJoint *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaConnJointsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaConnJoints * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaConnJoints * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaConnJoints * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaConnJoints * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaConnJoints * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaConnJoints * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaConnJoints * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaConnJoints * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaConnJoints * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaConnJoint **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaConnJoints * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaConnJoints * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaConnJoint **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaConnJoints * This,
            /* [in] */ IMgaMetaConnJoint *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaConnJoints * This,
            /* [in] */ IMgaMetaConnJoint *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaConnJoints * This,
            /* [in] */ IMgaMetaConnJoint *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaConnJoints * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaConnJointsVtbl;

    interface IMgaMetaConnJoints
    {
        CONST_VTBL struct IMgaMetaConnJointsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaConnJoints_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaConnJoints_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaConnJoints_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaConnJoints_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaConnJoints_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaConnJoints_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaConnJoints_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaConnJoints_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaConnJoints_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaConnJoints_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaConnJoints_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaConnJoints_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaConnJoints_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaConnJoints_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaConnJoints_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoints_get_Count_Proxy( 
    IMgaMetaConnJoints * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaConnJoints_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoints_get_Item_Proxy( 
    IMgaMetaConnJoints * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaConnJoint **p);


void __RPC_STUB IMgaMetaConnJoints_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoints_get__NewEnum_Proxy( 
    IMgaMetaConnJoints * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaConnJoints_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoints_GetAll_Proxy( 
    IMgaMetaConnJoints * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaConnJoint **p);


void __RPC_STUB IMgaMetaConnJoints_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoints_Insert_Proxy( 
    IMgaMetaConnJoints * This,
    /* [in] */ IMgaMetaConnJoint *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaConnJoints_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoints_Append_Proxy( 
    IMgaMetaConnJoints * This,
    /* [in] */ IMgaMetaConnJoint *p);


void __RPC_STUB IMgaMetaConnJoints_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoints_Find_Proxy( 
    IMgaMetaConnJoints * This,
    /* [in] */ IMgaMetaConnJoint *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaConnJoints_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaConnJoints_Remove_Proxy( 
    IMgaMetaConnJoints * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaConnJoints_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaConnJoints_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0291 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaConnJoints>
{ typedef IMgaMetaConnJoints collection_type; typedef IMgaMetaConnJoint element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaConnJoint>
{ typedef IMgaMetaConnJoints collection_type; typedef IMgaMetaConnJoint element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0291_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0291_v0_0_s_ifspec;

#ifndef __IMgaMetaPointerItems_INTERFACE_DEFINED__
#define __IMgaMetaPointerItems_INTERFACE_DEFINED__

/* interface IMgaMetaPointerItems */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaPointerItems;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8124623-c51d-11d3-9ad2-00aa00b6fe27")
    IMgaMetaPointerItems : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaPointerItem **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaPointerItem **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaPointerItem *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaPointerItem *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaPointerItem *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaPointerItemsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaPointerItems * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaPointerItems * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaPointerItems * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaPointerItems * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaPointerItems * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaPointerItems * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaPointerItems * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaPointerItems * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaPointerItems * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaPointerItem **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaPointerItems * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaPointerItems * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaPointerItem **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaPointerItems * This,
            /* [in] */ IMgaMetaPointerItem *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaPointerItems * This,
            /* [in] */ IMgaMetaPointerItem *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaPointerItems * This,
            /* [in] */ IMgaMetaPointerItem *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaPointerItems * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaPointerItemsVtbl;

    interface IMgaMetaPointerItems
    {
        CONST_VTBL struct IMgaMetaPointerItemsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaPointerItems_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaPointerItems_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaPointerItems_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaPointerItems_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaPointerItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaPointerItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaPointerItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaPointerItems_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaPointerItems_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaPointerItems_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaPointerItems_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaPointerItems_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaPointerItems_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaPointerItems_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaPointerItems_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItems_get_Count_Proxy( 
    IMgaMetaPointerItems * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaPointerItems_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItems_get_Item_Proxy( 
    IMgaMetaPointerItems * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaPointerItem **p);


void __RPC_STUB IMgaMetaPointerItems_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItems_get__NewEnum_Proxy( 
    IMgaMetaPointerItems * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaPointerItems_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItems_GetAll_Proxy( 
    IMgaMetaPointerItems * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaPointerItem **p);


void __RPC_STUB IMgaMetaPointerItems_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItems_Insert_Proxy( 
    IMgaMetaPointerItems * This,
    /* [in] */ IMgaMetaPointerItem *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaPointerItems_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItems_Append_Proxy( 
    IMgaMetaPointerItems * This,
    /* [in] */ IMgaMetaPointerItem *p);


void __RPC_STUB IMgaMetaPointerItems_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItems_Find_Proxy( 
    IMgaMetaPointerItems * This,
    /* [in] */ IMgaMetaPointerItem *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaPointerItems_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaPointerItems_Remove_Proxy( 
    IMgaMetaPointerItems * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaPointerItems_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaPointerItems_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0292 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaPointerItems>
{ typedef IMgaMetaPointerItems collection_type; typedef IMgaMetaPointerItem element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaPointerItem>
{ typedef IMgaMetaPointerItems collection_type; typedef IMgaMetaPointerItem element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0292_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0292_v0_0_s_ifspec;

#ifndef __IMgaMetaEnumItems_INTERFACE_DEFINED__
#define __IMgaMetaEnumItems_INTERFACE_DEFINED__

/* interface IMgaMetaEnumItems */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaMetaEnumItems;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8124623-c51d-1ad3-9ad2-11aa0176fe27")
    IMgaMetaEnumItems : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaEnumItem **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaEnumItem **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaMetaEnumItem *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaMetaEnumItem *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaMetaEnumItem *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaMetaEnumItemsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaMetaEnumItems * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaMetaEnumItems * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaMetaEnumItems * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaMetaEnumItems * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaMetaEnumItems * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaMetaEnumItems * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaMetaEnumItems * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaMetaEnumItems * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaMetaEnumItems * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaMetaEnumItem **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaMetaEnumItems * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaMetaEnumItems * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaMetaEnumItem **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaMetaEnumItems * This,
            /* [in] */ IMgaMetaEnumItem *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaMetaEnumItems * This,
            /* [in] */ IMgaMetaEnumItem *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaMetaEnumItems * This,
            /* [in] */ IMgaMetaEnumItem *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaMetaEnumItems * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaMetaEnumItemsVtbl;

    interface IMgaMetaEnumItems
    {
        CONST_VTBL struct IMgaMetaEnumItemsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaMetaEnumItems_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaMetaEnumItems_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaMetaEnumItems_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaMetaEnumItems_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaMetaEnumItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaMetaEnumItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaMetaEnumItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaMetaEnumItems_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaMetaEnumItems_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaMetaEnumItems_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaMetaEnumItems_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaMetaEnumItems_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaMetaEnumItems_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaMetaEnumItems_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaMetaEnumItems_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItems_get_Count_Proxy( 
    IMgaMetaEnumItems * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaMetaEnumItems_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItems_get_Item_Proxy( 
    IMgaMetaEnumItems * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaMetaEnumItem **p);


void __RPC_STUB IMgaMetaEnumItems_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItems_get__NewEnum_Proxy( 
    IMgaMetaEnumItems * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaMetaEnumItems_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItems_GetAll_Proxy( 
    IMgaMetaEnumItems * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaMetaEnumItem **p);


void __RPC_STUB IMgaMetaEnumItems_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItems_Insert_Proxy( 
    IMgaMetaEnumItems * This,
    /* [in] */ IMgaMetaEnumItem *p,
    /* [in] */ long at);


void __RPC_STUB IMgaMetaEnumItems_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItems_Append_Proxy( 
    IMgaMetaEnumItems * This,
    /* [in] */ IMgaMetaEnumItem *p);


void __RPC_STUB IMgaMetaEnumItems_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItems_Find_Proxy( 
    IMgaMetaEnumItems * This,
    /* [in] */ IMgaMetaEnumItem *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaMetaEnumItems_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaMetaEnumItems_Remove_Proxy( 
    IMgaMetaEnumItems * This,
    /* [in] */ long n);


void __RPC_STUB IMgaMetaEnumItems_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaMetaEnumItems_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0293 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaMetaEnumItems>
{ typedef IMgaMetaEnumItems collection_type; typedef IMgaMetaEnumItem element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaMetaEnumItem>
{ typedef IMgaMetaEnumItems collection_type; typedef IMgaMetaEnumItem element_type; };
}            
#endif































typedef 
enum accesstype_enum
    {	ACC_NULL	= 0,
	ACC_READ	= 1,
	ACC_WRITE	= 2,
	ACC_LINK	= 4
    } 	accesstype_enum;

typedef 
enum transactiontype_enum
    {	TRANSACTION_GENERAL	= 0,
	TRANSACTION_READ_ONLY	= TRANSACTION_GENERAL + 1,
	TRANSACTION_NON_NESTED	= TRANSACTION_READ_ONLY + 1
    } 	transactiontype_enum;

typedef 
enum attstatus_enum
    {	ATTSTATUS_HERE	= 0,
	ATTSTATUS_METADEFAULT	= -1,
	ATTSTATUS_UNDEFINED	= -2,
	ATTSTATUS_INVALID	= -3,
	ATTSTATUS_IN_ARCHETYPE1	= 1,
	ATTSTATUS_IN_ARCHETYPE2	= 2,
	ATTSTATUS_IN_ARCHETYPE3	= 3,
	ATTSTATUS_IN_ARCHETYPE4	= 4
    } 	attstatus_enum;

typedef BSTR ID_type;

typedef 
enum openmode
    {	OPEN_READ	= 1,
	OPEN_READWRITE	= 3
    } 	openmode;

typedef 
enum globalevent_enum
    {	GLOBALEVENT_OPEN_PROJECT	= 0,
	GLOBALEVENT_CLOSE_PROJECT	= GLOBALEVENT_OPEN_PROJECT + 1,
	GLOBALEVENT_NEW_TERRITORY	= GLOBALEVENT_CLOSE_PROJECT + 1,
	GLOBALEVENT_DESTROY_TERRITORY	= GLOBALEVENT_NEW_TERRITORY + 1,
	GLOBALEVENT_COMMIT_TRANSACTION	= GLOBALEVENT_DESTROY_TERRITORY + 1,
	GLOBALEVENT_ABORT_TRANSACTION	= GLOBALEVENT_COMMIT_TRANSACTION + 1,
	GLOBALEVENT_UNDO	= GLOBALEVENT_ABORT_TRANSACTION + 1,
	GLOBALEVENT_REDO	= GLOBALEVENT_UNDO + 1,
	GLOBALEVENT_PROJECT_PROPERTIES	= GLOBALEVENT_REDO + 1,
	GLOBALEVENT_NOTIFICATION_READY	= GLOBALEVENT_PROJECT_PROPERTIES + 1,
	APPEVENT_XML_IMPORT_BEGIN	= 0xff,
	APPEVENT_XML_IMPORT_END	= APPEVENT_XML_IMPORT_BEGIN + 1,
	APPEVENT_XML_IMPORT_FCOS_BEGIN	= APPEVENT_XML_IMPORT_END + 1,
	APPEVENT_XML_IMPORT_FCOS_END	= APPEVENT_XML_IMPORT_FCOS_BEGIN + 1,
	APPEVENT_XML_IMPORT_SPECIAL_BEGIN	= APPEVENT_XML_IMPORT_FCOS_END + 1,
	APPEVENT_XML_IMPORT_SPECIAL_END	= APPEVENT_XML_IMPORT_SPECIAL_BEGIN + 1
    } 	globalevent_enum;

#define	RELID_BASE_MAX	( 0x7ffffff )

#define	RELID_VALUE_MAX	( 0x7fffffff )

typedef 
enum objectevent_enum
    {	OBJEVENT_CREATED	= 0x80000000,
	OBJEVENT_DESTROYED	= 0x40000000,
	OBJEVENT_ATTR	= 0x1,
	OBJEVENT_REGISTRY	= 0x2,
	OBJEVENT_NEWCHILD	= 0x4,
	OBJEVENT_RELATION	= 0x8,
	OBJEVENT_PROPERTIES	= 0x10,
	OBJEVENT_SUBT_INST	= 0x20,
	OBJEVENT_PARENT	= 0x100,
	OBJEVENT_LOSTCHILD	= 0x200,
	OBJEVENT_REFERENCED	= 0x400,
	OBJEVENT_CONNECTED	= 0x800,
	OBJEVENT_SETINCLUDED	= 0x1000,
	OBJEVENT_REFRELEASED	= 0x2000,
	OBJEVENT_DISCONNECTED	= 0x4000,
	OBJEVENT_SETEXCLUDED	= 0x8000,
	OBJEVENT_MARKEDRO	= 0x10000,
	OBJEVENT_MARKEDRW	= 0x20000,
	OBJEVENT_USERBITS	= 0xff0000,
	OBJEVENT_OPENMODEL	= 0x80000,
	OBJEVENT_SELECT	= 0x100000,
	OBJEVENT_DESELECT	= 0x200000,
	OBJEVENT_MOUSEOVER	= 0x400000,
	OBJEVENT_CLOSEMODEL	= 0x800000
    } 	objectevent_enum;

typedef 
enum objectstatus_enum
    {	OBJECT_EXISTS	= 0,
	OBJECT_DELETED	= OBJECT_EXISTS + 1,
	OBJECT_ZOMBIE	= OBJECT_DELETED + 1
    } 	objectstatus_enum;

typedef 
enum preference_flags
    {	MGAPREF_NODUPLICATENAMES	= 0x1,
	MGAPREF_NAMENEWOBJECTS	= 0x2,
	MGAPREF_IGNORECONNCHECKS	= 0x4,
	MGAPREF_FREEINSTANCEREFS	= 0x8,
	MGAPREF_RELAXED_RDATTRTYPES	= 0x10,
	MGAPREF_RELAXED_WRATTRTYPES	= 0x20,
	MGAPREF_MANUAL_RELIDS	= 0x40
    } 	preference_flags;

typedef 
enum opmask_codes
    {	MM_ERROR	= 0,
	MM_CLEAR	= 1,
	MM_DO	= 2,
	MM_FULLDELETE	= 0x40
    } 	opmask_codes;

typedef 
enum opmask_shifts
    {	MM_REF	= 0,
	MM_CONN	= 8,
	MM_SET	= 16,
	MM_INTERNAL	= 0,
	MM_INTO	= 2,
	MM_OUTOF	= 4
    } 	opmask_shifts;

typedef 
enum componenttype_enum
    {	COMPONENTTYPE_NONE	= 0,
	COMPONENTTYPE_INTERPRETER	= 0x1,
	COMPONENTTYPE_ADDON	= 0x2,
	COMPONENTTYPE_PLUGIN	= 0x4,
	COMPONENTTYPE_ALL	= 0x7,
	COMPONENTTYPE_EVENT_BASED	= COMPONENTTYPE_ADDON,
	COMPONENTTYPE_PARADIGM_INDEPENDENT	= 0x8,
	COMPONENTTYPE_EXECENGINE	= 0x10,
	COMPONENTTYPE_SCRIPT	= 0x20,
	COMPONENTTYPE_SYSREGREF	= 0x80
    } 	componenttype_enum;

typedef 
enum component_startmode_enum
    {	GME_MAIN_START	= 0,
	GME_BROWSER_START	= 1,
	GME_CONTEXT_START	= 2,
	GME_EMBEDDED_START	= 3,
	GME_MENU_START	= 16,
	GME_BGCONTEXT_START	= 18,
	GME_ICON_START	= 32,
	METAMODEL_CHECK_SYNTAX	= 101,
	CONSTMGR_SHOW_CONSTRAINTS	= 102,
	GME_SILENT_MODE	= 128
    } 	component_startmode_enum;

typedef 
enum mgaerrors
    {	E_MGA_NOT_IMPLEMENTED	= 0x87650000,
	E_MGA_NOT_SUPPORTED	= 0x87650001,
	E_MGA_MODULE_INCOMPATIBILITY	= 0x87650010,
	E_MGA_PARADIGM_NOTREG	= 0x87650011,
	E_MGA_PARADIGM_INVALID	= 0x87650012,
	E_MGA_COMPONENT_ERROR	= 0x87650013,
	E_MGA_DATA_INCONSISTENCY	= 0x87650021,
	E_MGA_META_INCOMPATIBILITY	= 0x87650022,
	E_MGA_PROJECT_OPEN	= 0x87650031,
	E_MGA_PROJECT_NOT_OPEN	= 0x87650032,
	E_MGA_READ_ONLY_ACCESS	= 0x87650033,
	E_MGA_NOT_IN_TERRITORY	= 0x87650034,
	E_MGA_NOT_IN_TRANSACTION	= 0x87650035,
	E_MGA_ALREADY_IN_TRANSACTION	= 0x87650036,
	E_MGA_MUST_ABORT	= 0x87650037,
	E_MGA_TARGET_DESTROYED	= 0x87650038,
	E_MGA_FOREIGN_PROJECT	= 0x87650041,
	E_MGA_FOREIGN_OBJECT	= 0x87650042,
	E_MGA_OBJECT_DELETED	= 0x87650051,
	E_MGA_OBJECT_ZOMBIE	= 0x87650052,
	E_MGA_ZOMBIE_NOPROJECT	= 0x87650053,
	E_MGA_ZOMBIE_CLOSED_PROJECT	= 0x87650054,
	E_MGA_INVALID_ARG	= 0x87650060,
	E_MGA_ARG_RANGE	= 0x87650061,
	E_MGA_INPTR_NULL	= 0x87650062,
	E_MGA_OUTPTR_NONEMPTY	= 0x87650063,
	E_MGA_OUTPTR_NULL	= 0x87650064,
	E_MGA_NAME_NOT_FOUND	= 0x87650070,
	E_MGA_NAME_DUPLICATE	= 0x87650071,
	E_MGA_META_VIOLATION	= 0x87650072,
	E_MGA_NOT_CHANGEABLE	= 0x87650073,
	E_MGA_OP_REFUSED	= 0x87650074,
	E_MGA_LIBOBJECT	= 0x87650075,
	E_META_INVALIDATTR	= 0x87650080,
	E_META_INVALIDASPECT	= 0x87650081,
	E_MGA_ACCESS_TYPE	= 0x87650082,
	E_MGA_BAD_ENUMVALUE	= 0x87650083,
	E_MGA_REFPORTS_USED	= 0x87650131,
	E_MGA_VIRTUAL_NODE	= 0x87650136,
	E_MGA_BAD_POSITIONVALUE	= 0x87650137,
	E_MGA_ROOTFCO	= 0x87650138,
	E_MGA_NOT_ROOTOBJECT	= 0x87650138,
	E_MGA_BAD_COLLENGTH	= 0x87650140,
	E_MGA_INVALID_ROLE	= 0x87650142,
	E_MGA_BAD_ID	= 0x87650143,
	E_MGA_NOT_DERIVABLE	= 0x87650144,
	E_MGA_OBJECT_NOT_MEMBER	= 0x87650145,
	E_MGA_NOT_CONNECTIBLE	= 0x87650146,
	E_MGA_NO_ROLE	= 0x87650147,
	E_MGA_CONNROLE_USED	= 0x87650148,
	E_MGA_NOT_DERIVED	= 0x87650149,
	E_MGA_NOT_INSTANCE	= 0x87650150,
	E_MGA_INSTANCE	= 0x87650151,
	E_MGA_REFERENCE_EXPECTED	= 0x87650152,
	E_MGA_FILTERFORMAT	= 0x87650153,
	E_MGA_GEN_OUT_OF_SPACE	= 0x87650154,
	E_MGA_INVALID_TARGET	= 0x87650155,
	E_MGA_LONG_DERIVCHAIN	= 0x87650156,
	E_MGA_LIB_DIFF	= 0x87650157,
	E_MGA_BAD_MASKVALUE	= 0x87650170,
	E_MGA_CONSTRAINT_VIOLATION	= 0x87657fff,
	E_MGA_ERRCODE_ERROR	= 0x87658000
    } 	mgaerrors;



extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0293_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0293_v0_0_s_ifspec;

#ifndef __IMgaProject_INTERFACE_DEFINED__
#define __IMgaProject_INTERFACE_DEFINED__

/* interface IMgaProject */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaProject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("270B4F92-B17C-11D3-9AD1-00AA00B6FE26")
    IMgaProject : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ BSTR projectname,
            /* [in] */ BSTR paradigmname) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateEx( 
            /* [in] */ BSTR projectname,
            /* [in] */ BSTR paradigmname,
            /* [in] */ VARIANT paradigmGUID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [in] */ BSTR projectname,
            /* [defaultvalue][out] */ VARIANT_BOOL *ro_mode = 0) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenEx( 
            /* [in] */ BSTR projectname,
            /* [in] */ BSTR paradigmname,
            /* [in] */ VARIANT paradigmGUID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Close( 
            /* [defaultvalue][in] */ VARIANT_BOOL abort = 0) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [defaultvalue][in] */ BSTR save_as_conn = L"",
            /* [defaultvalue][in] */ VARIANT_BOOL keepoldname = 0) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckLocks( 
            /* [in] */ BSTR filename,
            /* [defaultvalue][in] */ VARIANT_BOOL clearlocks = ( VARIANT_BOOL  )-1) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Preferences( 
            /* [in] */ long prefmask) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Preferences( 
            /* [retval][out] */ long *prefmask) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_OperationsMask( 
            /* [in] */ long opmask) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OperationsMask( 
            /* [retval][out] */ long *opmask) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateTerritory( 
            /* [in] */ IMgaEventSink *handler,
            /* [out] */ IMgaTerritory **terr,
            /* [defaultvalue][in] */ IMgaEventSink *rwhandler = 0) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAddOn( 
            /* [in] */ IMgaEventSink *handler,
            /* [out] */ IMgaAddOn **addon) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AddOns( 
            /* [retval][out] */ IMgaAddOns **addons) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Territories( 
            /* [retval][out] */ IMgaTerritories **terrs) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableAutoAddOns( 
            /* [in] */ VARIANT_BOOL bEnable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AddOnComponents( 
            /* [retval][out] */ IMgaComponents **comps) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveTerritory( 
            /* [retval][out] */ IMgaTerritory **aterr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginTransaction( 
            /* [in] */ IMgaTerritory *terr,
            /* [defaultvalue][in] */ transactiontype_enum mode = TRANSACTION_GENERAL) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ProjectStatus( 
            /* [retval][out] */ long *stat) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Notify( 
            /* [in] */ globalevent_enum event) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CommitTransaction( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AbortTransaction( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckSupress( 
            /* [in] */ VARIANT_BOOL mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Undo( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Redo( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UndoRedoSize( 
            /* [out] */ short *undosize,
            /* [out] */ short *redosize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FlushUndoQueue( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateSourceControlInfo( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RootMeta( 
            /* [retval][out] */ IMgaMetaProject **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RootFolder( 
            /* [retval][out] */ IMgaFolder **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFilter( 
            /* [retval][out] */ IMgaFilter **filter) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AllFCOs( 
            /* [in] */ IMgaFilter *filter,
            /* [retval][out] */ IMgaFCOs **returnset) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetObjectByID( 
            /* [in] */ ID_type id,
            /* [retval][out] */ IMgaObject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFCOByID( 
            /* [in] */ ID_type id,
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFCOsByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFolderByPath( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaFolder **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumExtReferences( 
            /* [in] */ IMgaFCOs *fcos,
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectByPath( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NthObjectByPath( 
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTopLibraries( 
            /* [in] */ BSTR dispGuid,
            /* [retval][out] */ IMgaFolders **returnset) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStatistics( 
            /* [retval][out] */ BSTR *statstr) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Version( 
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaGUID( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaVersion( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GUID( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_GUID( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CreateTime( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ChangeTime( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Author( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Author( 
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Comment( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Comment( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ProjectConnStr( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParadigmConnStr( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaObj( 
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaBase **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMetaObjDisp( 
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaBase **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryProjectInfo( 
            /* [in] */ BSTR projectname,
            /* [out] */ long *mgaversion,
            /* [out] */ BSTR *paradigmname,
            /* [out] */ BSTR *paradigmversion,
            /* [out] */ VARIANT *paradigmGUID,
            /* [out] */ VARIANT_BOOL *ro_mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Clients( 
            /* [retval][out] */ IMgaClients **clients) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterClient( 
            /* [in] */ BSTR name,
            /* [in] */ IDispatch *OLEServer,
            /* [retval][out] */ IMgaClient **client) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClientByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaClient **client) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaProjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaProject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaProject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaProject * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaProject * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaProject * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaProject * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaProject * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IMgaProject * This,
            /* [in] */ BSTR projectname,
            /* [in] */ BSTR paradigmname);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateEx )( 
            IMgaProject * This,
            /* [in] */ BSTR projectname,
            /* [in] */ BSTR paradigmname,
            /* [in] */ VARIANT paradigmGUID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaProject * This,
            /* [in] */ BSTR projectname,
            /* [defaultvalue][out] */ VARIANT_BOOL *ro_mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenEx )( 
            IMgaProject * This,
            /* [in] */ BSTR projectname,
            /* [in] */ BSTR paradigmname,
            /* [in] */ VARIANT paradigmGUID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaProject * This,
            /* [defaultvalue][in] */ VARIANT_BOOL abort);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IMgaProject * This,
            /* [defaultvalue][in] */ BSTR save_as_conn,
            /* [defaultvalue][in] */ VARIANT_BOOL keepoldname);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckLocks )( 
            IMgaProject * This,
            /* [in] */ BSTR filename,
            /* [defaultvalue][in] */ VARIANT_BOOL clearlocks);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Preferences )( 
            IMgaProject * This,
            /* [in] */ long prefmask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Preferences )( 
            IMgaProject * This,
            /* [retval][out] */ long *prefmask);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OperationsMask )( 
            IMgaProject * This,
            /* [in] */ long opmask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OperationsMask )( 
            IMgaProject * This,
            /* [retval][out] */ long *opmask);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateTerritory )( 
            IMgaProject * This,
            /* [in] */ IMgaEventSink *handler,
            /* [out] */ IMgaTerritory **terr,
            /* [defaultvalue][in] */ IMgaEventSink *rwhandler);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAddOn )( 
            IMgaProject * This,
            /* [in] */ IMgaEventSink *handler,
            /* [out] */ IMgaAddOn **addon);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AddOns )( 
            IMgaProject * This,
            /* [retval][out] */ IMgaAddOns **addons);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territories )( 
            IMgaProject * This,
            /* [retval][out] */ IMgaTerritories **terrs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnableAutoAddOns )( 
            IMgaProject * This,
            /* [in] */ VARIANT_BOOL bEnable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AddOnComponents )( 
            IMgaProject * This,
            /* [retval][out] */ IMgaComponents **comps);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveTerritory )( 
            IMgaProject * This,
            /* [retval][out] */ IMgaTerritory **aterr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginTransaction )( 
            IMgaProject * This,
            /* [in] */ IMgaTerritory *terr,
            /* [defaultvalue][in] */ transactiontype_enum mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProjectStatus )( 
            IMgaProject * This,
            /* [retval][out] */ long *stat);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Notify )( 
            IMgaProject * This,
            /* [in] */ globalevent_enum event);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CommitTransaction )( 
            IMgaProject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AbortTransaction )( 
            IMgaProject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckSupress )( 
            IMgaProject * This,
            /* [in] */ VARIANT_BOOL mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Undo )( 
            IMgaProject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Redo )( 
            IMgaProject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UndoRedoSize )( 
            IMgaProject * This,
            /* [out] */ short *undosize,
            /* [out] */ short *redosize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FlushUndoQueue )( 
            IMgaProject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateSourceControlInfo )( 
            IMgaProject * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootMeta )( 
            IMgaProject * This,
            /* [retval][out] */ IMgaMetaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootFolder )( 
            IMgaProject * This,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFilter )( 
            IMgaProject * This,
            /* [retval][out] */ IMgaFilter **filter);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AllFCOs )( 
            IMgaProject * This,
            /* [in] */ IMgaFilter *filter,
            /* [retval][out] */ IMgaFCOs **returnset);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByID )( 
            IMgaProject * This,
            /* [in] */ ID_type id,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFCOByID )( 
            IMgaProject * This,
            /* [in] */ ID_type id,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFCOsByName )( 
            IMgaProject * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFolderByPath )( 
            IMgaProject * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumExtReferences )( 
            IMgaProject * This,
            /* [in] */ IMgaFCOs *fcos,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaProject * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaProject * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTopLibraries )( 
            IMgaProject * This,
            /* [in] */ BSTR dispGuid,
            /* [retval][out] */ IMgaFolders **returnset);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStatistics )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *statstr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaProject * This,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Version )( 
            IMgaProject * This,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaName )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaGUID )( 
            IMgaProject * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaVersion )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
            IMgaProject * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GUID )( 
            IMgaProject * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreateTime )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChangeTime )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Author )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Author )( 
            IMgaProject * This,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comment )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comment )( 
            IMgaProject * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProjectConnStr )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParadigmConnStr )( 
            IMgaProject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaObj )( 
            IMgaProject * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMetaObjDisp )( 
            IMgaProject * This,
            /* [in] */ metaref_type mref,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryProjectInfo )( 
            IMgaProject * This,
            /* [in] */ BSTR projectname,
            /* [out] */ long *mgaversion,
            /* [out] */ BSTR *paradigmname,
            /* [out] */ BSTR *paradigmversion,
            /* [out] */ VARIANT *paradigmGUID,
            /* [out] */ VARIANT_BOOL *ro_mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Clients )( 
            IMgaProject * This,
            /* [retval][out] */ IMgaClients **clients);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterClient )( 
            IMgaProject * This,
            /* [in] */ BSTR name,
            /* [in] */ IDispatch *OLEServer,
            /* [retval][out] */ IMgaClient **client);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClientByName )( 
            IMgaProject * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaClient **client);
        
        END_INTERFACE
    } IMgaProjectVtbl;

    interface IMgaProject
    {
        CONST_VTBL struct IMgaProjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaProject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaProject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaProject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaProject_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaProject_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaProject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaProject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaProject_Create(This,projectname,paradigmname)	\
    (This)->lpVtbl -> Create(This,projectname,paradigmname)

#define IMgaProject_CreateEx(This,projectname,paradigmname,paradigmGUID)	\
    (This)->lpVtbl -> CreateEx(This,projectname,paradigmname,paradigmGUID)

#define IMgaProject_Open(This,projectname,ro_mode)	\
    (This)->lpVtbl -> Open(This,projectname,ro_mode)

#define IMgaProject_OpenEx(This,projectname,paradigmname,paradigmGUID)	\
    (This)->lpVtbl -> OpenEx(This,projectname,paradigmname,paradigmGUID)

#define IMgaProject_Close(This,abort)	\
    (This)->lpVtbl -> Close(This,abort)

#define IMgaProject_Save(This,save_as_conn,keepoldname)	\
    (This)->lpVtbl -> Save(This,save_as_conn,keepoldname)

#define IMgaProject_CheckLocks(This,filename,clearlocks)	\
    (This)->lpVtbl -> CheckLocks(This,filename,clearlocks)

#define IMgaProject_put_Preferences(This,prefmask)	\
    (This)->lpVtbl -> put_Preferences(This,prefmask)

#define IMgaProject_get_Preferences(This,prefmask)	\
    (This)->lpVtbl -> get_Preferences(This,prefmask)

#define IMgaProject_put_OperationsMask(This,opmask)	\
    (This)->lpVtbl -> put_OperationsMask(This,opmask)

#define IMgaProject_get_OperationsMask(This,opmask)	\
    (This)->lpVtbl -> get_OperationsMask(This,opmask)

#define IMgaProject_CreateTerritory(This,handler,terr,rwhandler)	\
    (This)->lpVtbl -> CreateTerritory(This,handler,terr,rwhandler)

#define IMgaProject_CreateAddOn(This,handler,addon)	\
    (This)->lpVtbl -> CreateAddOn(This,handler,addon)

#define IMgaProject_get_AddOns(This,addons)	\
    (This)->lpVtbl -> get_AddOns(This,addons)

#define IMgaProject_get_Territories(This,terrs)	\
    (This)->lpVtbl -> get_Territories(This,terrs)

#define IMgaProject_EnableAutoAddOns(This,bEnable)	\
    (This)->lpVtbl -> EnableAutoAddOns(This,bEnable)

#define IMgaProject_get_AddOnComponents(This,comps)	\
    (This)->lpVtbl -> get_AddOnComponents(This,comps)

#define IMgaProject_get_ActiveTerritory(This,aterr)	\
    (This)->lpVtbl -> get_ActiveTerritory(This,aterr)

#define IMgaProject_BeginTransaction(This,terr,mode)	\
    (This)->lpVtbl -> BeginTransaction(This,terr,mode)

#define IMgaProject_get_ProjectStatus(This,stat)	\
    (This)->lpVtbl -> get_ProjectStatus(This,stat)

#define IMgaProject_Notify(This,event)	\
    (This)->lpVtbl -> Notify(This,event)

#define IMgaProject_CommitTransaction(This)	\
    (This)->lpVtbl -> CommitTransaction(This)

#define IMgaProject_AbortTransaction(This)	\
    (This)->lpVtbl -> AbortTransaction(This)

#define IMgaProject_CheckSupress(This,mode)	\
    (This)->lpVtbl -> CheckSupress(This,mode)

#define IMgaProject_Undo(This)	\
    (This)->lpVtbl -> Undo(This)

#define IMgaProject_Redo(This)	\
    (This)->lpVtbl -> Redo(This)

#define IMgaProject_UndoRedoSize(This,undosize,redosize)	\
    (This)->lpVtbl -> UndoRedoSize(This,undosize,redosize)

#define IMgaProject_FlushUndoQueue(This)	\
    (This)->lpVtbl -> FlushUndoQueue(This)

#define IMgaProject_UpdateSourceControlInfo(This)	\
    (This)->lpVtbl -> UpdateSourceControlInfo(This)

#define IMgaProject_get_RootMeta(This,pVal)	\
    (This)->lpVtbl -> get_RootMeta(This,pVal)

#define IMgaProject_get_RootFolder(This,pVal)	\
    (This)->lpVtbl -> get_RootFolder(This,pVal)

#define IMgaProject_CreateFilter(This,filter)	\
    (This)->lpVtbl -> CreateFilter(This,filter)

#define IMgaProject_AllFCOs(This,filter,returnset)	\
    (This)->lpVtbl -> AllFCOs(This,filter,returnset)

#define IMgaProject_GetObjectByID(This,id,pVal)	\
    (This)->lpVtbl -> GetObjectByID(This,id,pVal)

#define IMgaProject_GetFCOByID(This,id,pVal)	\
    (This)->lpVtbl -> GetFCOByID(This,id,pVal)

#define IMgaProject_GetFCOsByName(This,name,pVal)	\
    (This)->lpVtbl -> GetFCOsByName(This,name,pVal)

#define IMgaProject_GetFolderByPath(This,path,pVal)	\
    (This)->lpVtbl -> GetFolderByPath(This,path,pVal)

#define IMgaProject_EnumExtReferences(This,fcos,pVal)	\
    (This)->lpVtbl -> EnumExtReferences(This,fcos,pVal)

#define IMgaProject_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaProject_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaProject_GetTopLibraries(This,dispGuid,returnset)	\
    (This)->lpVtbl -> GetTopLibraries(This,dispGuid,returnset)

#define IMgaProject_GetStatistics(This,statstr)	\
    (This)->lpVtbl -> GetStatistics(This,statstr)

#define IMgaProject_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaProject_put_Name(This,newval)	\
    (This)->lpVtbl -> put_Name(This,newval)

#define IMgaProject_get_Version(This,pVal)	\
    (This)->lpVtbl -> get_Version(This,pVal)

#define IMgaProject_put_Version(This,newval)	\
    (This)->lpVtbl -> put_Version(This,newval)

#define IMgaProject_get_MetaName(This,pVal)	\
    (This)->lpVtbl -> get_MetaName(This,pVal)

#define IMgaProject_get_MetaGUID(This,pVal)	\
    (This)->lpVtbl -> get_MetaGUID(This,pVal)

#define IMgaProject_get_MetaVersion(This,pVal)	\
    (This)->lpVtbl -> get_MetaVersion(This,pVal)

#define IMgaProject_get_GUID(This,pVal)	\
    (This)->lpVtbl -> get_GUID(This,pVal)

#define IMgaProject_put_GUID(This,newVal)	\
    (This)->lpVtbl -> put_GUID(This,newVal)

#define IMgaProject_get_CreateTime(This,pVal)	\
    (This)->lpVtbl -> get_CreateTime(This,pVal)

#define IMgaProject_get_ChangeTime(This,pVal)	\
    (This)->lpVtbl -> get_ChangeTime(This,pVal)

#define IMgaProject_get_Author(This,pVal)	\
    (This)->lpVtbl -> get_Author(This,pVal)

#define IMgaProject_put_Author(This,newval)	\
    (This)->lpVtbl -> put_Author(This,newval)

#define IMgaProject_get_Comment(This,pVal)	\
    (This)->lpVtbl -> get_Comment(This,pVal)

#define IMgaProject_put_Comment(This,newVal)	\
    (This)->lpVtbl -> put_Comment(This,newVal)

#define IMgaProject_get_ProjectConnStr(This,pVal)	\
    (This)->lpVtbl -> get_ProjectConnStr(This,pVal)

#define IMgaProject_get_ParadigmConnStr(This,pVal)	\
    (This)->lpVtbl -> get_ParadigmConnStr(This,pVal)

#define IMgaProject_get_MetaObj(This,mref,pVal)	\
    (This)->lpVtbl -> get_MetaObj(This,mref,pVal)

#define IMgaProject_GetMetaObjDisp(This,mref,pVal)	\
    (This)->lpVtbl -> GetMetaObjDisp(This,mref,pVal)

#define IMgaProject_QueryProjectInfo(This,projectname,mgaversion,paradigmname,paradigmversion,paradigmGUID,ro_mode)	\
    (This)->lpVtbl -> QueryProjectInfo(This,projectname,mgaversion,paradigmname,paradigmversion,paradigmGUID,ro_mode)

#define IMgaProject_get_Clients(This,clients)	\
    (This)->lpVtbl -> get_Clients(This,clients)

#define IMgaProject_RegisterClient(This,name,OLEServer,client)	\
    (This)->lpVtbl -> RegisterClient(This,name,OLEServer,client)

#define IMgaProject_GetClientByName(This,name,client)	\
    (This)->lpVtbl -> GetClientByName(This,name,client)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_Create_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR projectname,
    /* [in] */ BSTR paradigmname);


void __RPC_STUB IMgaProject_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_CreateEx_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR projectname,
    /* [in] */ BSTR paradigmname,
    /* [in] */ VARIANT paradigmGUID);


void __RPC_STUB IMgaProject_CreateEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_Open_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR projectname,
    /* [defaultvalue][out] */ VARIANT_BOOL *ro_mode);


void __RPC_STUB IMgaProject_Open_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_OpenEx_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR projectname,
    /* [in] */ BSTR paradigmname,
    /* [in] */ VARIANT paradigmGUID);


void __RPC_STUB IMgaProject_OpenEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_Close_Proxy( 
    IMgaProject * This,
    /* [defaultvalue][in] */ VARIANT_BOOL abort);


void __RPC_STUB IMgaProject_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_Save_Proxy( 
    IMgaProject * This,
    /* [defaultvalue][in] */ BSTR save_as_conn,
    /* [defaultvalue][in] */ VARIANT_BOOL keepoldname);


void __RPC_STUB IMgaProject_Save_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_CheckLocks_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR filename,
    /* [defaultvalue][in] */ VARIANT_BOOL clearlocks);


void __RPC_STUB IMgaProject_CheckLocks_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaProject_put_Preferences_Proxy( 
    IMgaProject * This,
    /* [in] */ long prefmask);


void __RPC_STUB IMgaProject_put_Preferences_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_Preferences_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ long *prefmask);


void __RPC_STUB IMgaProject_get_Preferences_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaProject_put_OperationsMask_Proxy( 
    IMgaProject * This,
    /* [in] */ long opmask);


void __RPC_STUB IMgaProject_put_OperationsMask_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_OperationsMask_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ long *opmask);


void __RPC_STUB IMgaProject_get_OperationsMask_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_CreateTerritory_Proxy( 
    IMgaProject * This,
    /* [in] */ IMgaEventSink *handler,
    /* [out] */ IMgaTerritory **terr,
    /* [defaultvalue][in] */ IMgaEventSink *rwhandler);


void __RPC_STUB IMgaProject_CreateTerritory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_CreateAddOn_Proxy( 
    IMgaProject * This,
    /* [in] */ IMgaEventSink *handler,
    /* [out] */ IMgaAddOn **addon);


void __RPC_STUB IMgaProject_CreateAddOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_AddOns_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ IMgaAddOns **addons);


void __RPC_STUB IMgaProject_get_AddOns_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_Territories_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ IMgaTerritories **terrs);


void __RPC_STUB IMgaProject_get_Territories_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_EnableAutoAddOns_Proxy( 
    IMgaProject * This,
    /* [in] */ VARIANT_BOOL bEnable);


void __RPC_STUB IMgaProject_EnableAutoAddOns_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_AddOnComponents_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ IMgaComponents **comps);


void __RPC_STUB IMgaProject_get_AddOnComponents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_ActiveTerritory_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ IMgaTerritory **aterr);


void __RPC_STUB IMgaProject_get_ActiveTerritory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_BeginTransaction_Proxy( 
    IMgaProject * This,
    /* [in] */ IMgaTerritory *terr,
    /* [defaultvalue][in] */ transactiontype_enum mode);


void __RPC_STUB IMgaProject_BeginTransaction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_ProjectStatus_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ long *stat);


void __RPC_STUB IMgaProject_get_ProjectStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_Notify_Proxy( 
    IMgaProject * This,
    /* [in] */ globalevent_enum event);


void __RPC_STUB IMgaProject_Notify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_CommitTransaction_Proxy( 
    IMgaProject * This);


void __RPC_STUB IMgaProject_CommitTransaction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_AbortTransaction_Proxy( 
    IMgaProject * This);


void __RPC_STUB IMgaProject_AbortTransaction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_CheckSupress_Proxy( 
    IMgaProject * This,
    /* [in] */ VARIANT_BOOL mode);


void __RPC_STUB IMgaProject_CheckSupress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_Undo_Proxy( 
    IMgaProject * This);


void __RPC_STUB IMgaProject_Undo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_Redo_Proxy( 
    IMgaProject * This);


void __RPC_STUB IMgaProject_Redo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_UndoRedoSize_Proxy( 
    IMgaProject * This,
    /* [out] */ short *undosize,
    /* [out] */ short *redosize);


void __RPC_STUB IMgaProject_UndoRedoSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_FlushUndoQueue_Proxy( 
    IMgaProject * This);


void __RPC_STUB IMgaProject_FlushUndoQueue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_UpdateSourceControlInfo_Proxy( 
    IMgaProject * This);


void __RPC_STUB IMgaProject_UpdateSourceControlInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_RootMeta_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ IMgaMetaProject **pVal);


void __RPC_STUB IMgaProject_get_RootMeta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_RootFolder_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ IMgaFolder **pVal);


void __RPC_STUB IMgaProject_get_RootFolder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_CreateFilter_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ IMgaFilter **filter);


void __RPC_STUB IMgaProject_CreateFilter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_AllFCOs_Proxy( 
    IMgaProject * This,
    /* [in] */ IMgaFilter *filter,
    /* [retval][out] */ IMgaFCOs **returnset);


void __RPC_STUB IMgaProject_AllFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_GetObjectByID_Proxy( 
    IMgaProject * This,
    /* [in] */ ID_type id,
    /* [retval][out] */ IMgaObject **pVal);


void __RPC_STUB IMgaProject_GetObjectByID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_GetFCOByID_Proxy( 
    IMgaProject * This,
    /* [in] */ ID_type id,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaProject_GetFCOByID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_GetFCOsByName_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaProject_GetFCOsByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_GetFolderByPath_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaFolder **pVal);


void __RPC_STUB IMgaProject_GetFolderByPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_EnumExtReferences_Proxy( 
    IMgaProject * This,
    /* [in] */ IMgaFCOs *fcos,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaProject_EnumExtReferences_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_ObjectByPath_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaObject **pVal);


void __RPC_STUB IMgaProject_get_ObjectByPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_NthObjectByPath_Proxy( 
    IMgaProject * This,
    /* [in] */ long n_th,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaObject **pVal);


void __RPC_STUB IMgaProject_get_NthObjectByPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_GetTopLibraries_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR dispGuid,
    /* [retval][out] */ IMgaFolders **returnset);


void __RPC_STUB IMgaProject_GetTopLibraries_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_GetStatistics_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *statstr);


void __RPC_STUB IMgaProject_GetStatistics_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_Name_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaProject_put_Name_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaProject_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_Version_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaProject_put_Version_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaProject_put_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_MetaName_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_MetaName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_MetaGUID_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IMgaProject_get_MetaGUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_MetaVersion_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_MetaVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_GUID_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IMgaProject_get_GUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaProject_put_GUID_Proxy( 
    IMgaProject * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IMgaProject_put_GUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_CreateTime_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_CreateTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_ChangeTime_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_ChangeTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_Author_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_Author_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaProject_put_Author_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaProject_put_Author_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_Comment_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_Comment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaProject_put_Comment_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaProject_put_Comment_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_ProjectConnStr_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_ProjectConnStr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_ParadigmConnStr_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaProject_get_ParadigmConnStr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_MetaObj_Proxy( 
    IMgaProject * This,
    /* [in] */ metaref_type mref,
    /* [retval][out] */ IMgaMetaBase **pVal);


void __RPC_STUB IMgaProject_get_MetaObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_GetMetaObjDisp_Proxy( 
    IMgaProject * This,
    /* [in] */ metaref_type mref,
    /* [retval][out] */ IMgaMetaBase **pVal);


void __RPC_STUB IMgaProject_GetMetaObjDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_QueryProjectInfo_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR projectname,
    /* [out] */ long *mgaversion,
    /* [out] */ BSTR *paradigmname,
    /* [out] */ BSTR *paradigmversion,
    /* [out] */ VARIANT *paradigmGUID,
    /* [out] */ VARIANT_BOOL *ro_mode);


void __RPC_STUB IMgaProject_QueryProjectInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaProject_get_Clients_Proxy( 
    IMgaProject * This,
    /* [retval][out] */ IMgaClients **clients);


void __RPC_STUB IMgaProject_get_Clients_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_RegisterClient_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR name,
    /* [in] */ IDispatch *OLEServer,
    /* [retval][out] */ IMgaClient **client);


void __RPC_STUB IMgaProject_RegisterClient_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProject_GetClientByName_Proxy( 
    IMgaProject * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaClient **client);


void __RPC_STUB IMgaProject_GetClientByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaProject_INTERFACE_DEFINED__ */


#ifndef __IMgaEventSink_INTERFACE_DEFINED__
#define __IMgaEventSink_INTERFACE_DEFINED__

/* interface IMgaEventSink */
/* [unique][helpstring][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IMgaEventSink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("32D1F3A5-D276-11D3-9AD5-00AA00B6FE26")
    IMgaEventSink : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GlobalEvent( 
            /* [in] */ globalevent_enum event) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ObjectEvent( 
            /* [in] */ IMgaObject *obj,
            /* [in] */ unsigned long eventmask,
            /* [in] */ VARIANT v) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaEventSinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaEventSink * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaEventSink * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaEventSink * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GlobalEvent )( 
            IMgaEventSink * This,
            /* [in] */ globalevent_enum event);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ObjectEvent )( 
            IMgaEventSink * This,
            /* [in] */ IMgaObject *obj,
            /* [in] */ unsigned long eventmask,
            /* [in] */ VARIANT v);
        
        END_INTERFACE
    } IMgaEventSinkVtbl;

    interface IMgaEventSink
    {
        CONST_VTBL struct IMgaEventSinkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaEventSink_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaEventSink_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaEventSink_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaEventSink_GlobalEvent(This,event)	\
    (This)->lpVtbl -> GlobalEvent(This,event)

#define IMgaEventSink_ObjectEvent(This,obj,eventmask,v)	\
    (This)->lpVtbl -> ObjectEvent(This,obj,eventmask,v)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaEventSink_GlobalEvent_Proxy( 
    IMgaEventSink * This,
    /* [in] */ globalevent_enum event);


void __RPC_STUB IMgaEventSink_GlobalEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaEventSink_ObjectEvent_Proxy( 
    IMgaEventSink * This,
    /* [in] */ IMgaObject *obj,
    /* [in] */ unsigned long eventmask,
    /* [in] */ VARIANT v);


void __RPC_STUB IMgaEventSink_ObjectEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaEventSink_INTERFACE_DEFINED__ */


#ifndef __IMgaAddOn_INTERFACE_DEFINED__
#define __IMgaAddOn_INTERFACE_DEFINED__

/* interface IMgaAddOn */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaAddOn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("80A6D661-D411-11D3-9AD5-00AA00B6FE26")
    IMgaAddOn : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Priority( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Priority( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EventMask( 
            /* [in] */ unsigned long eventmask) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Project( 
            /* [retval][out] */ IMgaProject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckProject( 
            /* [in] */ IMgaProject *project) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaAddOnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaAddOn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaAddOn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaAddOn * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaAddOn * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaAddOn * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaAddOn * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaAddOn * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )( 
            IMgaAddOn * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )( 
            IMgaAddOn * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventMask )( 
            IMgaAddOn * This,
            /* [in] */ unsigned long eventmask);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IMgaAddOn * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaAddOn * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaAddOn * This,
            /* [in] */ IMgaProject *project);
        
        END_INTERFACE
    } IMgaAddOnVtbl;

    interface IMgaAddOn
    {
        CONST_VTBL struct IMgaAddOnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaAddOn_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaAddOn_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaAddOn_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaAddOn_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaAddOn_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaAddOn_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaAddOn_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaAddOn_get_Priority(This,pVal)	\
    (This)->lpVtbl -> get_Priority(This,pVal)

#define IMgaAddOn_put_Priority(This,newVal)	\
    (This)->lpVtbl -> put_Priority(This,newVal)

#define IMgaAddOn_put_EventMask(This,eventmask)	\
    (This)->lpVtbl -> put_EventMask(This,eventmask)

#define IMgaAddOn_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IMgaAddOn_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaAddOn_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAddOn_get_Priority_Proxy( 
    IMgaAddOn * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB IMgaAddOn_get_Priority_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaAddOn_put_Priority_Proxy( 
    IMgaAddOn * This,
    /* [in] */ long newVal);


void __RPC_STUB IMgaAddOn_put_Priority_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaAddOn_put_EventMask_Proxy( 
    IMgaAddOn * This,
    /* [in] */ unsigned long eventmask);


void __RPC_STUB IMgaAddOn_put_EventMask_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAddOn_Destroy_Proxy( 
    IMgaAddOn * This);


void __RPC_STUB IMgaAddOn_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAddOn_get_Project_Proxy( 
    IMgaAddOn * This,
    /* [retval][out] */ IMgaProject **pVal);


void __RPC_STUB IMgaAddOn_get_Project_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAddOn_CheckProject_Proxy( 
    IMgaAddOn * This,
    /* [in] */ IMgaProject *project);


void __RPC_STUB IMgaAddOn_CheckProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaAddOn_INTERFACE_DEFINED__ */


#ifndef __IMgaComponent_INTERFACE_DEFINED__
#define __IMgaComponent_INTERFACE_DEFINED__

/* interface IMgaComponent */
/* [unique][helpstring][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IMgaComponent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("11BB02D9-2E2C-11D3-B36D-0060082DF884")
    IMgaComponent : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ IMgaProject *project,
            /* [in] */ IMgaFCOs *selectedobjs,
            /* [in] */ long param) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            IMgaProject *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Enable( 
            VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InteractiveMode( 
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_InteractiveMode( 
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ComponentName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ComponentType( 
            /* [retval][out] */ componenttype_enum *t) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Paradigm( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaComponentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaComponent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaComponent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaComponent * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaComponent * This,
            /* [in] */ IMgaProject *project,
            /* [in] */ IMgaFCOs *selectedobjs,
            /* [in] */ long param);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IMgaComponent * This,
            IMgaProject *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Enable )( 
            IMgaComponent * This,
            VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InteractiveMode )( 
            IMgaComponent * This,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InteractiveMode )( 
            IMgaComponent * This,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ComponentName )( 
            IMgaComponent * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ComponentType )( 
            IMgaComponent * This,
            /* [retval][out] */ componenttype_enum *t);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Paradigm )( 
            IMgaComponent * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IMgaComponentVtbl;

    interface IMgaComponent
    {
        CONST_VTBL struct IMgaComponentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaComponent_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaComponent_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaComponent_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaComponent_Invoke(This,project,selectedobjs,param)	\
    (This)->lpVtbl -> Invoke(This,project,selectedobjs,param)

#define IMgaComponent_Initialize(This,p)	\
    (This)->lpVtbl -> Initialize(This,p)

#define IMgaComponent_Enable(This,newVal)	\
    (This)->lpVtbl -> Enable(This,newVal)

#define IMgaComponent_get_InteractiveMode(This,enabled)	\
    (This)->lpVtbl -> get_InteractiveMode(This,enabled)

#define IMgaComponent_put_InteractiveMode(This,enabled)	\
    (This)->lpVtbl -> put_InteractiveMode(This,enabled)

#define IMgaComponent_get_ComponentName(This,pVal)	\
    (This)->lpVtbl -> get_ComponentName(This,pVal)

#define IMgaComponent_get_ComponentType(This,t)	\
    (This)->lpVtbl -> get_ComponentType(This,t)

#define IMgaComponent_get_Paradigm(This,pVal)	\
    (This)->lpVtbl -> get_Paradigm(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponent_Invoke_Proxy( 
    IMgaComponent * This,
    /* [in] */ IMgaProject *project,
    /* [in] */ IMgaFCOs *selectedobjs,
    /* [in] */ long param);


void __RPC_STUB IMgaComponent_Invoke_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponent_Initialize_Proxy( 
    IMgaComponent * This,
    IMgaProject *p);


void __RPC_STUB IMgaComponent_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponent_Enable_Proxy( 
    IMgaComponent * This,
    VARIANT_BOOL newVal);


void __RPC_STUB IMgaComponent_Enable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaComponent_get_InteractiveMode_Proxy( 
    IMgaComponent * This,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaComponent_get_InteractiveMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaComponent_put_InteractiveMode_Proxy( 
    IMgaComponent * This,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaComponent_put_InteractiveMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaComponent_get_ComponentName_Proxy( 
    IMgaComponent * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaComponent_get_ComponentName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaComponent_get_ComponentType_Proxy( 
    IMgaComponent * This,
    /* [retval][out] */ componenttype_enum *t);


void __RPC_STUB IMgaComponent_get_ComponentType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaComponent_get_Paradigm_Proxy( 
    IMgaComponent * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaComponent_get_Paradigm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaComponent_INTERFACE_DEFINED__ */


#ifndef __IMgaComponentEx_INTERFACE_DEFINED__
#define __IMgaComponentEx_INTERFACE_DEFINED__

/* interface IMgaComponentEx */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IMgaComponentEx;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("11BB44D9-2E2C-11D3-B36D-0060082DF884")
    IMgaComponentEx : public IMgaComponent
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvokeEx( 
            /* [in] */ IMgaProject *project,
            /* [in] */ IMgaFCO *currentobj,
            /* [out][in] */ IMgaFCOs *selectedobjs,
            /* [in] */ long param) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ObjectsInvokeEx( 
            /* [in] */ IMgaProject *project,
            /* [in] */ IMgaObject *currentobj,
            /* [out][in] */ IMgaObjects *selectedobjs,
            /* [in] */ long param) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ComponentProgID( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ComponentParameter( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ComponentParameter( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaComponentExVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaComponentEx * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaComponentEx * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaComponentEx * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaComponentEx * This,
            /* [in] */ IMgaProject *project,
            /* [in] */ IMgaFCOs *selectedobjs,
            /* [in] */ long param);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IMgaComponentEx * This,
            IMgaProject *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Enable )( 
            IMgaComponentEx * This,
            VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InteractiveMode )( 
            IMgaComponentEx * This,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InteractiveMode )( 
            IMgaComponentEx * This,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ComponentName )( 
            IMgaComponentEx * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ComponentType )( 
            IMgaComponentEx * This,
            /* [retval][out] */ componenttype_enum *t);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Paradigm )( 
            IMgaComponentEx * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InvokeEx )( 
            IMgaComponentEx * This,
            /* [in] */ IMgaProject *project,
            /* [in] */ IMgaFCO *currentobj,
            /* [out][in] */ IMgaFCOs *selectedobjs,
            /* [in] */ long param);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ObjectsInvokeEx )( 
            IMgaComponentEx * This,
            /* [in] */ IMgaProject *project,
            /* [in] */ IMgaObject *currentobj,
            /* [out][in] */ IMgaObjects *selectedobjs,
            /* [in] */ long param);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ComponentProgID )( 
            IMgaComponentEx * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ComponentParameter )( 
            IMgaComponentEx * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ComponentParameter )( 
            IMgaComponentEx * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        END_INTERFACE
    } IMgaComponentExVtbl;

    interface IMgaComponentEx
    {
        CONST_VTBL struct IMgaComponentExVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaComponentEx_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaComponentEx_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaComponentEx_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaComponentEx_Invoke(This,project,selectedobjs,param)	\
    (This)->lpVtbl -> Invoke(This,project,selectedobjs,param)

#define IMgaComponentEx_Initialize(This,p)	\
    (This)->lpVtbl -> Initialize(This,p)

#define IMgaComponentEx_Enable(This,newVal)	\
    (This)->lpVtbl -> Enable(This,newVal)

#define IMgaComponentEx_get_InteractiveMode(This,enabled)	\
    (This)->lpVtbl -> get_InteractiveMode(This,enabled)

#define IMgaComponentEx_put_InteractiveMode(This,enabled)	\
    (This)->lpVtbl -> put_InteractiveMode(This,enabled)

#define IMgaComponentEx_get_ComponentName(This,pVal)	\
    (This)->lpVtbl -> get_ComponentName(This,pVal)

#define IMgaComponentEx_get_ComponentType(This,t)	\
    (This)->lpVtbl -> get_ComponentType(This,t)

#define IMgaComponentEx_get_Paradigm(This,pVal)	\
    (This)->lpVtbl -> get_Paradigm(This,pVal)


#define IMgaComponentEx_InvokeEx(This,project,currentobj,selectedobjs,param)	\
    (This)->lpVtbl -> InvokeEx(This,project,currentobj,selectedobjs,param)

#define IMgaComponentEx_ObjectsInvokeEx(This,project,currentobj,selectedobjs,param)	\
    (This)->lpVtbl -> ObjectsInvokeEx(This,project,currentobj,selectedobjs,param)

#define IMgaComponentEx_get_ComponentProgID(This,pVal)	\
    (This)->lpVtbl -> get_ComponentProgID(This,pVal)

#define IMgaComponentEx_put_ComponentParameter(This,name,newVal)	\
    (This)->lpVtbl -> put_ComponentParameter(This,name,newVal)

#define IMgaComponentEx_get_ComponentParameter(This,name,pVal)	\
    (This)->lpVtbl -> get_ComponentParameter(This,name,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponentEx_InvokeEx_Proxy( 
    IMgaComponentEx * This,
    /* [in] */ IMgaProject *project,
    /* [in] */ IMgaFCO *currentobj,
    /* [out][in] */ IMgaFCOs *selectedobjs,
    /* [in] */ long param);


void __RPC_STUB IMgaComponentEx_InvokeEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponentEx_ObjectsInvokeEx_Proxy( 
    IMgaComponentEx * This,
    /* [in] */ IMgaProject *project,
    /* [in] */ IMgaObject *currentobj,
    /* [out][in] */ IMgaObjects *selectedobjs,
    /* [in] */ long param);


void __RPC_STUB IMgaComponentEx_ObjectsInvokeEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaComponentEx_get_ComponentProgID_Proxy( 
    IMgaComponentEx * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaComponentEx_get_ComponentProgID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaComponentEx_put_ComponentParameter_Proxy( 
    IMgaComponentEx * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IMgaComponentEx_put_ComponentParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaComponentEx_get_ComponentParameter_Proxy( 
    IMgaComponentEx * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IMgaComponentEx_get_ComponentParameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaComponentEx_INTERFACE_DEFINED__ */


#ifndef __IMgaClient_INTERFACE_DEFINED__
#define __IMgaClient_INTERFACE_DEFINED__

/* interface IMgaClient */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaClient;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F07EE1A2-2D53-449b-A2DA-45A1A9110E53")
    IMgaClient : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OLEServer( 
            /* [retval][out] */ IDispatch **pServer) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Project( 
            /* [retval][out] */ IMgaProject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaClientVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaClient * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaClient * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaClient * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaClient * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaClient * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaClient * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaClient * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaClient * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OLEServer )( 
            IMgaClient * This,
            /* [retval][out] */ IDispatch **pServer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaClient * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IMgaClient * This);
        
        END_INTERFACE
    } IMgaClientVtbl;

    interface IMgaClient
    {
        CONST_VTBL struct IMgaClientVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaClient_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaClient_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaClient_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaClient_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaClient_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaClient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaClient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaClient_get_Name(This,pName)	\
    (This)->lpVtbl -> get_Name(This,pName)

#define IMgaClient_get_OLEServer(This,pServer)	\
    (This)->lpVtbl -> get_OLEServer(This,pServer)

#define IMgaClient_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaClient_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaClient_get_Name_Proxy( 
    IMgaClient * This,
    /* [retval][out] */ BSTR *pName);


void __RPC_STUB IMgaClient_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaClient_get_OLEServer_Proxy( 
    IMgaClient * This,
    /* [retval][out] */ IDispatch **pServer);


void __RPC_STUB IMgaClient_get_OLEServer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaClient_get_Project_Proxy( 
    IMgaClient * This,
    /* [retval][out] */ IMgaProject **pVal);


void __RPC_STUB IMgaClient_get_Project_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClient_Destroy_Proxy( 
    IMgaClient * This);


void __RPC_STUB IMgaClient_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaClient_INTERFACE_DEFINED__ */


#ifndef __IMgaTerritory_INTERFACE_DEFINED__
#define __IMgaTerritory_INTERFACE_DEFINED__

/* interface IMgaTerritory */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaTerritory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("32D1F3A3-D276-11D3-9AD5-00AA00B6FE26")
    IMgaTerritory : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Flush( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EventMask( 
            /* [in] */ unsigned long eventmask) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RWEventMask( 
            /* [in] */ unsigned long eventmask) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Associate( 
            /* [in] */ IMgaObject *obj,
            /* [in] */ VARIANT userdata) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenObj( 
            /* [in] */ IMgaObject *obj,
            /* [out][in] */ IMgaObject **newobj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenFCO( 
            /* [in] */ IMgaFCO *obj,
            /* [out][in] */ IMgaFCO **newobj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenFCOs( 
            /* [in] */ IMgaFCOs *obj,
            /* [out][in] */ IMgaFCOs **newobj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseObj( 
            /* [in] */ IMgaObject *obj) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Project( 
            /* [retval][out] */ IMgaProject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckProject( 
            /* [in] */ IMgaProject *project) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetNamespace( 
            /* [in] */ BSTR pNmsp) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNamespace( 
            /* [retval][out] */ BSTR *pNmsp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaTerritoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaTerritory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaTerritory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaTerritory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaTerritory * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaTerritory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaTerritory * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaTerritory * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Flush )( 
            IMgaTerritory * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IMgaTerritory * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventMask )( 
            IMgaTerritory * This,
            /* [in] */ unsigned long eventmask);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RWEventMask )( 
            IMgaTerritory * This,
            /* [in] */ unsigned long eventmask);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaTerritory * This,
            /* [in] */ IMgaObject *obj,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenObj )( 
            IMgaTerritory * This,
            /* [in] */ IMgaObject *obj,
            /* [out][in] */ IMgaObject **newobj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenFCO )( 
            IMgaTerritory * This,
            /* [in] */ IMgaFCO *obj,
            /* [out][in] */ IMgaFCO **newobj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenFCOs )( 
            IMgaTerritory * This,
            /* [in] */ IMgaFCOs *obj,
            /* [out][in] */ IMgaFCOs **newobj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CloseObj )( 
            IMgaTerritory * This,
            /* [in] */ IMgaObject *obj);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaTerritory * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaTerritory * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetNamespace )( 
            IMgaTerritory * This,
            /* [in] */ BSTR pNmsp);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNamespace )( 
            IMgaTerritory * This,
            /* [retval][out] */ BSTR *pNmsp);
        
        END_INTERFACE
    } IMgaTerritoryVtbl;

    interface IMgaTerritory
    {
        CONST_VTBL struct IMgaTerritoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaTerritory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaTerritory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaTerritory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaTerritory_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaTerritory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaTerritory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaTerritory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaTerritory_Flush(This)	\
    (This)->lpVtbl -> Flush(This)

#define IMgaTerritory_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IMgaTerritory_put_EventMask(This,eventmask)	\
    (This)->lpVtbl -> put_EventMask(This,eventmask)

#define IMgaTerritory_put_RWEventMask(This,eventmask)	\
    (This)->lpVtbl -> put_RWEventMask(This,eventmask)

#define IMgaTerritory_Associate(This,obj,userdata)	\
    (This)->lpVtbl -> Associate(This,obj,userdata)

#define IMgaTerritory_OpenObj(This,obj,newobj)	\
    (This)->lpVtbl -> OpenObj(This,obj,newobj)

#define IMgaTerritory_OpenFCO(This,obj,newobj)	\
    (This)->lpVtbl -> OpenFCO(This,obj,newobj)

#define IMgaTerritory_OpenFCOs(This,obj,newobj)	\
    (This)->lpVtbl -> OpenFCOs(This,obj,newobj)

#define IMgaTerritory_CloseObj(This,obj)	\
    (This)->lpVtbl -> CloseObj(This,obj)

#define IMgaTerritory_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaTerritory_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaTerritory_SetNamespace(This,pNmsp)	\
    (This)->lpVtbl -> SetNamespace(This,pNmsp)

#define IMgaTerritory_GetNamespace(This,pNmsp)	\
    (This)->lpVtbl -> GetNamespace(This,pNmsp)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_Flush_Proxy( 
    IMgaTerritory * This);


void __RPC_STUB IMgaTerritory_Flush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_Destroy_Proxy( 
    IMgaTerritory * This);


void __RPC_STUB IMgaTerritory_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_put_EventMask_Proxy( 
    IMgaTerritory * This,
    /* [in] */ unsigned long eventmask);


void __RPC_STUB IMgaTerritory_put_EventMask_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_put_RWEventMask_Proxy( 
    IMgaTerritory * This,
    /* [in] */ unsigned long eventmask);


void __RPC_STUB IMgaTerritory_put_RWEventMask_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_Associate_Proxy( 
    IMgaTerritory * This,
    /* [in] */ IMgaObject *obj,
    /* [in] */ VARIANT userdata);


void __RPC_STUB IMgaTerritory_Associate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_OpenObj_Proxy( 
    IMgaTerritory * This,
    /* [in] */ IMgaObject *obj,
    /* [out][in] */ IMgaObject **newobj);


void __RPC_STUB IMgaTerritory_OpenObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_OpenFCO_Proxy( 
    IMgaTerritory * This,
    /* [in] */ IMgaFCO *obj,
    /* [out][in] */ IMgaFCO **newobj);


void __RPC_STUB IMgaTerritory_OpenFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_OpenFCOs_Proxy( 
    IMgaTerritory * This,
    /* [in] */ IMgaFCOs *obj,
    /* [out][in] */ IMgaFCOs **newobj);


void __RPC_STUB IMgaTerritory_OpenFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_CloseObj_Proxy( 
    IMgaTerritory * This,
    /* [in] */ IMgaObject *obj);


void __RPC_STUB IMgaTerritory_CloseObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_get_Project_Proxy( 
    IMgaTerritory * This,
    /* [retval][out] */ IMgaProject **pVal);


void __RPC_STUB IMgaTerritory_get_Project_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_CheckProject_Proxy( 
    IMgaTerritory * This,
    /* [in] */ IMgaProject *project);


void __RPC_STUB IMgaTerritory_CheckProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_SetNamespace_Proxy( 
    IMgaTerritory * This,
    /* [in] */ BSTR pNmsp);


void __RPC_STUB IMgaTerritory_SetNamespace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritory_GetNamespace_Proxy( 
    IMgaTerritory * This,
    /* [retval][out] */ BSTR *pNmsp);


void __RPC_STUB IMgaTerritory_GetNamespace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaTerritory_INTERFACE_DEFINED__ */


#ifndef __IMgaObject_INTERFACE_DEFINED__
#define __IMgaObject_INTERFACE_DEFINED__

/* interface IMgaObject */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("32D1F3A7-D276-11D3-9AD5-00AA00B6FE26")
    IMgaObject : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsWritable( 
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ID( 
            /* [retval][out] */ ID_type *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AbsPath( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaBase( 
            /* [retval][out] */ IMgaMetaBase **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObjType( 
            /* [retval][out] */ objtype_enum *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Project( 
            /* [retval][out] */ IMgaProject **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Territory( 
            /* [retval][out] */ IMgaTerritory **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsEqual( 
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIsEqualDisp( 
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParent( 
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype = 0) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckProject( 
            /* [in] */ IMgaProject *project) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DestroyObject( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [defaultvalue][in] */ openmode mode = OPEN_READ) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Associate( 
            /* [in] */ VARIANT userdata) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentAssociation( 
            /* [retval][out] */ VARIANT *userdata) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendEvent( 
            /* [in] */ long mask) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RelID( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RelID( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsLibObject( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Check( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckTree( void) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Exempt( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Exempt( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ChildObjects( 
            /* [retval][out] */ IMgaObjects **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ChildObjectByRelID( 
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChildObjectByRelIDDisp( 
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectByPath( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetObjectByPathDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NthObjectByPath( 
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNthObjectByPathDisp( 
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutReadOnlyAccessWithPropagate( 
            /* [in] */ VARIANT_BOOL pReadOnly) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutReadOnlyAccess( 
            /* [in] */ VARIANT_BOOL pReadOnly) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HasReadOnlyAccess( 
            /* [retval][out] */ VARIANT_BOOL *pReadOnly) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGuid( 
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutGuid( 
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGuidDisp( 
            /* [retval][out] */ BSTR *guid_str) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutGuidDisp( 
            /* [in] */ BSTR guid_str) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaObject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaObject * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaObject * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaObject * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaObject * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaObject * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaObject * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWritable )( 
            IMgaObject * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            IMgaObject * This,
            /* [retval][out] */ ID_type *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaObject * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsPath )( 
            IMgaObject * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaBase )( 
            IMgaObject * This,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaObject * This,
            /* [retval][out] */ objtype_enum *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaObject * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territory )( 
            IMgaObject * This,
            /* [retval][out] */ IMgaTerritory **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEqual )( 
            IMgaObject * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsEqualDisp )( 
            IMgaObject * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IMgaObject * This,
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaObject * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObject )( 
            IMgaObject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaObject * This,
            /* [defaultvalue][in] */ openmode mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaObject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaObject * This,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAssociation )( 
            IMgaObject * This,
            /* [retval][out] */ VARIANT *userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendEvent )( 
            IMgaObject * This,
            /* [in] */ long mask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelID )( 
            IMgaObject * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelID )( 
            IMgaObject * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLibObject )( 
            IMgaObject * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Check )( 
            IMgaObject * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTree )( 
            IMgaObject * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Exempt )( 
            IMgaObject * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exempt )( 
            IMgaObject * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjects )( 
            IMgaObject * This,
            /* [retval][out] */ IMgaObjects **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjectByRelID )( 
            IMgaObject * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildObjectByRelIDDisp )( 
            IMgaObject * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaObject * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByPathDisp )( 
            IMgaObject * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaObject * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNthObjectByPathDisp )( 
            IMgaObject * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccessWithPropagate )( 
            IMgaObject * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccess )( 
            IMgaObject * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasReadOnlyAccess )( 
            IMgaObject * This,
            /* [retval][out] */ VARIANT_BOOL *pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuid )( 
            IMgaObject * This,
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuid )( 
            IMgaObject * This,
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuidDisp )( 
            IMgaObject * This,
            /* [retval][out] */ BSTR *guid_str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuidDisp )( 
            IMgaObject * This,
            /* [in] */ BSTR guid_str);
        
        END_INTERFACE
    } IMgaObjectVtbl;

    interface IMgaObject
    {
        CONST_VTBL struct IMgaObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaObject_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaObject_get_Status(This,p)	\
    (This)->lpVtbl -> get_Status(This,p)

#define IMgaObject_get_IsWritable(This,p)	\
    (This)->lpVtbl -> get_IsWritable(This,p)

#define IMgaObject_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IMgaObject_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaObject_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaObject_get_AbsPath(This,pVal)	\
    (This)->lpVtbl -> get_AbsPath(This,pVal)

#define IMgaObject_get_MetaBase(This,pVal)	\
    (This)->lpVtbl -> get_MetaBase(This,pVal)

#define IMgaObject_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaObject_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaObject_get_Territory(This,pVal)	\
    (This)->lpVtbl -> get_Territory(This,pVal)

#define IMgaObject_get_IsEqual(This,o,pVal)	\
    (This)->lpVtbl -> get_IsEqual(This,o,pVal)

#define IMgaObject_GetIsEqualDisp(This,o,pVal)	\
    (This)->lpVtbl -> GetIsEqualDisp(This,o,pVal)

#define IMgaObject_GetParent(This,pVal,objtype)	\
    (This)->lpVtbl -> GetParent(This,pVal,objtype)

#define IMgaObject_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaObject_DestroyObject(This)	\
    (This)->lpVtbl -> DestroyObject(This)

#define IMgaObject_Open(This,mode)	\
    (This)->lpVtbl -> Open(This,mode)

#define IMgaObject_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaObject_Associate(This,userdata)	\
    (This)->lpVtbl -> Associate(This,userdata)

#define IMgaObject_get_CurrentAssociation(This,userdata)	\
    (This)->lpVtbl -> get_CurrentAssociation(This,userdata)

#define IMgaObject_SendEvent(This,mask)	\
    (This)->lpVtbl -> SendEvent(This,mask)

#define IMgaObject_get_RelID(This,pVal)	\
    (This)->lpVtbl -> get_RelID(This,pVal)

#define IMgaObject_put_RelID(This,newVal)	\
    (This)->lpVtbl -> put_RelID(This,newVal)

#define IMgaObject_get_IsLibObject(This,pVal)	\
    (This)->lpVtbl -> get_IsLibObject(This,pVal)

#define IMgaObject_Check(This)	\
    (This)->lpVtbl -> Check(This)

#define IMgaObject_CheckTree(This)	\
    (This)->lpVtbl -> CheckTree(This)

#define IMgaObject_put_Exempt(This,newVal)	\
    (This)->lpVtbl -> put_Exempt(This,newVal)

#define IMgaObject_get_Exempt(This,pVal)	\
    (This)->lpVtbl -> get_Exempt(This,pVal)

#define IMgaObject_get_ChildObjects(This,pVal)	\
    (This)->lpVtbl -> get_ChildObjects(This,pVal)

#define IMgaObject_get_ChildObjectByRelID(This,relid,pVal)	\
    (This)->lpVtbl -> get_ChildObjectByRelID(This,relid,pVal)

#define IMgaObject_GetChildObjectByRelIDDisp(This,relid,pVal)	\
    (This)->lpVtbl -> GetChildObjectByRelIDDisp(This,relid,pVal)

#define IMgaObject_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaObject_GetObjectByPathDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetObjectByPathDisp(This,path,pVal)

#define IMgaObject_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaObject_GetNthObjectByPathDisp(This,n_th,path,pVal)	\
    (This)->lpVtbl -> GetNthObjectByPathDisp(This,n_th,path,pVal)

#define IMgaObject_PutReadOnlyAccessWithPropagate(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccessWithPropagate(This,pReadOnly)

#define IMgaObject_PutReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccess(This,pReadOnly)

#define IMgaObject_HasReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> HasReadOnlyAccess(This,pReadOnly)

#define IMgaObject_GetGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> GetGuid(This,l1,l2,l3,l4)

#define IMgaObject_PutGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> PutGuid(This,l1,l2,l3,l4)

#define IMgaObject_GetGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> GetGuidDisp(This,guid_str)

#define IMgaObject_PutGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> PutGuidDisp(This,guid_str)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_Status_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaObject_get_Status_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_IsWritable_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaObject_get_IsWritable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_ID_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ ID_type *pVal);


void __RPC_STUB IMgaObject_get_ID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_Name_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaObject_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaObject_put_Name_Proxy( 
    IMgaObject * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaObject_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_AbsPath_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaObject_get_AbsPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_MetaBase_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ IMgaMetaBase **pVal);


void __RPC_STUB IMgaObject_get_MetaBase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_ObjType_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ objtype_enum *pVal);


void __RPC_STUB IMgaObject_get_ObjType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_Project_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ IMgaProject **pVal);


void __RPC_STUB IMgaObject_get_Project_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_Territory_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ IMgaTerritory **pVal);


void __RPC_STUB IMgaObject_get_Territory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_IsEqual_Proxy( 
    IMgaObject * This,
    /* [in] */ IMgaObject *o,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaObject_get_IsEqual_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_GetIsEqualDisp_Proxy( 
    IMgaObject * This,
    /* [in] */ IMgaObject *o,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaObject_GetIsEqualDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_GetParent_Proxy( 
    IMgaObject * This,
    /* [out] */ IMgaObject **pVal,
    /* [defaultvalue][out] */ objtype_enum *objtype);


void __RPC_STUB IMgaObject_GetParent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_CheckProject_Proxy( 
    IMgaObject * This,
    /* [in] */ IMgaProject *project);


void __RPC_STUB IMgaObject_CheckProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_DestroyObject_Proxy( 
    IMgaObject * This);


void __RPC_STUB IMgaObject_DestroyObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_Open_Proxy( 
    IMgaObject * This,
    /* [defaultvalue][in] */ openmode mode);


void __RPC_STUB IMgaObject_Open_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_Close_Proxy( 
    IMgaObject * This);


void __RPC_STUB IMgaObject_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_Associate_Proxy( 
    IMgaObject * This,
    /* [in] */ VARIANT userdata);


void __RPC_STUB IMgaObject_Associate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_CurrentAssociation_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ VARIANT *userdata);


void __RPC_STUB IMgaObject_get_CurrentAssociation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_SendEvent_Proxy( 
    IMgaObject * This,
    /* [in] */ long mask);


void __RPC_STUB IMgaObject_SendEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_RelID_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB IMgaObject_get_RelID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaObject_put_RelID_Proxy( 
    IMgaObject * This,
    /* [in] */ long newVal);


void __RPC_STUB IMgaObject_put_RelID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_IsLibObject_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaObject_get_IsLibObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_Check_Proxy( 
    IMgaObject * This);


void __RPC_STUB IMgaObject_Check_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_CheckTree_Proxy( 
    IMgaObject * This);


void __RPC_STUB IMgaObject_CheckTree_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaObject_put_Exempt_Proxy( 
    IMgaObject * This,
    /* [in] */ VARIANT_BOOL newVal);


void __RPC_STUB IMgaObject_put_Exempt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_Exempt_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaObject_get_Exempt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_ChildObjects_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ IMgaObjects **pVal);


void __RPC_STUB IMgaObject_get_ChildObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_ChildObjectByRelID_Proxy( 
    IMgaObject * This,
    /* [in] */ long relid,
    /* [retval][out] */ IMgaObject **pVal);


void __RPC_STUB IMgaObject_get_ChildObjectByRelID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_GetChildObjectByRelIDDisp_Proxy( 
    IMgaObject * This,
    /* [in] */ long relid,
    /* [retval][out] */ IMgaObject **pVal);


void __RPC_STUB IMgaObject_GetChildObjectByRelIDDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_ObjectByPath_Proxy( 
    IMgaObject * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaObject **pVal);


void __RPC_STUB IMgaObject_get_ObjectByPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_GetObjectByPathDisp_Proxy( 
    IMgaObject * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaObject **pVal);


void __RPC_STUB IMgaObject_GetObjectByPathDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObject_get_NthObjectByPath_Proxy( 
    IMgaObject * This,
    /* [in] */ long n_th,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaObject **pVal);


void __RPC_STUB IMgaObject_get_NthObjectByPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_GetNthObjectByPathDisp_Proxy( 
    IMgaObject * This,
    /* [in] */ long n_th,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaObject **pVal);


void __RPC_STUB IMgaObject_GetNthObjectByPathDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_PutReadOnlyAccessWithPropagate_Proxy( 
    IMgaObject * This,
    /* [in] */ VARIANT_BOOL pReadOnly);


void __RPC_STUB IMgaObject_PutReadOnlyAccessWithPropagate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_PutReadOnlyAccess_Proxy( 
    IMgaObject * This,
    /* [in] */ VARIANT_BOOL pReadOnly);


void __RPC_STUB IMgaObject_PutReadOnlyAccess_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_HasReadOnlyAccess_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ VARIANT_BOOL *pReadOnly);


void __RPC_STUB IMgaObject_HasReadOnlyAccess_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_GetGuid_Proxy( 
    IMgaObject * This,
    /* [out][in] */ long *l1,
    /* [out][in] */ long *l2,
    /* [out][in] */ long *l3,
    /* [out][in] */ long *l4);


void __RPC_STUB IMgaObject_GetGuid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_PutGuid_Proxy( 
    IMgaObject * This,
    /* [in] */ long l1,
    /* [in] */ long l2,
    /* [in] */ long l3,
    /* [in] */ long l4);


void __RPC_STUB IMgaObject_PutGuid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_GetGuidDisp_Proxy( 
    IMgaObject * This,
    /* [retval][out] */ BSTR *guid_str);


void __RPC_STUB IMgaObject_GetGuidDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObject_PutGuidDisp_Proxy( 
    IMgaObject * This,
    /* [in] */ BSTR guid_str);


void __RPC_STUB IMgaObject_PutGuidDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaObject_INTERFACE_DEFINED__ */


#ifndef __IMgaFCO_INTERFACE_DEFINED__
#define __IMgaFCO_INTERFACE_DEFINED__

/* interface IMgaFCO */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaFCO;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("270B4F98-B17C-11D3-9AD1-00AA00B6FE26")
    IMgaFCO : public IMgaObject
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Meta( 
            /* [retval][out] */ IMgaMetaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaRole( 
            /* [retval][out] */ IMgaMetaRole **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParentModel( 
            /* [retval][out] */ IMgaModel **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParentFolder( 
            /* [retval][out] */ IMgaFolder **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parts( 
            /* [retval][out] */ IMgaParts **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Part( 
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPartDisp( 
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PartByMetaPart( 
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPartByMetaPartDisp( 
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
            /* [retval][out] */ IMgaAttributes **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Attribute( 
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttributeDisp( 
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AttributeByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AttributeByName( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttributeByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAttributeByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StrAttrByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_StrAttrByName( 
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStrAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStrAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IntAttrByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_IntAttrByName( 
            /* [in] */ BSTR name,
            /* [in] */ long newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIntAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIntAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ long newval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FloatAttrByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FloatAttrByName( 
            /* [in] */ BSTR name,
            /* [in] */ double newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFloatAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetFloatAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ double newval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BoolAttrByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BoolAttrByName( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBoolAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBoolAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RefAttrByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RefAttrByName( 
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRefAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRefAttrByNameDisp( 
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearAttrByName( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RegistryNode( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryNodeDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Registry( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryDisp( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RegistryValue( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_RegistryValue( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Constraints( 
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConstraintsDisp( 
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddConstraint( 
            /* [in] */ IMgaConstraint *constraint) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DefineConstraint( 
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DerivedFrom( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DerivedObjects( 
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BaseType( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ArcheType( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsInstance( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsPrimaryDerived( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachToArcheType( 
            /* [in] */ IMgaFCO *newtype,
            /* [in] */ VARIANT_BOOL instance) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachFromArcheType( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAbsMetaPath( 
            /* [out][in] */ BSTR *abspath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRelMetaPath( 
            /* [in] */ IMgaFCO *begfco,
            /* [out][in] */ BSTR *relpath,
            /* [defaultvalue][in] */ IMgaFCOs *refs = 0) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PartOfConns( 
            /* [retval][out] */ IMgaConnPoints **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MemberOfSets( 
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ReferencedBy( 
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateCollection( 
            /* [out][in] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RootFCO( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaFCOVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaFCO * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaFCO * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaFCO * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaFCO * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaFCO * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaFCO * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaFCO * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaFCO * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWritable )( 
            IMgaFCO * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            IMgaFCO * This,
            /* [retval][out] */ ID_type *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaFCO * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaFCO * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsPath )( 
            IMgaFCO * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaBase )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaFCO * This,
            /* [retval][out] */ objtype_enum *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territory )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaTerritory **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEqual )( 
            IMgaFCO * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsEqualDisp )( 
            IMgaFCO * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IMgaFCO * This,
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaFCO * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObject )( 
            IMgaFCO * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaFCO * This,
            /* [defaultvalue][in] */ openmode mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaFCO * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaFCO * This,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAssociation )( 
            IMgaFCO * This,
            /* [retval][out] */ VARIANT *userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendEvent )( 
            IMgaFCO * This,
            /* [in] */ long mask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelID )( 
            IMgaFCO * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelID )( 
            IMgaFCO * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLibObject )( 
            IMgaFCO * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Check )( 
            IMgaFCO * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTree )( 
            IMgaFCO * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Exempt )( 
            IMgaFCO * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exempt )( 
            IMgaFCO * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjects )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaObjects **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjectByRelID )( 
            IMgaFCO * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildObjectByRelIDDisp )( 
            IMgaFCO * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByPathDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaFCO * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNthObjectByPathDisp )( 
            IMgaFCO * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccessWithPropagate )( 
            IMgaFCO * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccess )( 
            IMgaFCO * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasReadOnlyAccess )( 
            IMgaFCO * This,
            /* [retval][out] */ VARIANT_BOOL *pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuid )( 
            IMgaFCO * This,
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuid )( 
            IMgaFCO * This,
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuidDisp )( 
            IMgaFCO * This,
            /* [retval][out] */ BSTR *guid_str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuidDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR guid_str);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Meta )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaMetaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRole )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaMetaRole **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentModel )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaModel **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentFolder )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parts )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaParts **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Part )( 
            IMgaFCO * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartDisp )( 
            IMgaFCO * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartByMetaPart )( 
            IMgaFCO * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartByMetaPartDisp )( 
            IMgaFCO * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaAttributes **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attribute )( 
            IMgaFCO * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeDisp )( 
            IMgaFCO * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AttributeByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttributeByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StrAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StrAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStrAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIntAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIntAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloatAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FloatAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFloatAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFloatAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoolAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoolAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoolAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBoolAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RefAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRefAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRefAttrByNameDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearAttrByName )( 
            IMgaFCO * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaFCO * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaFCO * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaFCO * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaFCO * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaFCO * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConstraintsDisp )( 
            IMgaFCO * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddConstraint )( 
            IMgaFCO * This,
            /* [in] */ IMgaConstraint *constraint);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DefineConstraint )( 
            IMgaFCO * This,
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedFrom )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedObjects )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseType )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcheType )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstance )( 
            IMgaFCO * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimaryDerived )( 
            IMgaFCO * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToArcheType )( 
            IMgaFCO * This,
            /* [in] */ IMgaFCO *newtype,
            /* [in] */ VARIANT_BOOL instance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachFromArcheType )( 
            IMgaFCO * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAbsMetaPath )( 
            IMgaFCO * This,
            /* [out][in] */ BSTR *abspath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRelMetaPath )( 
            IMgaFCO * This,
            /* [in] */ IMgaFCO *begfco,
            /* [out][in] */ BSTR *relpath,
            /* [defaultvalue][in] */ IMgaFCOs *refs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfConns )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemberOfSets )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReferencedBy )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCollection )( 
            IMgaFCO * This,
            /* [out][in] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootFCO )( 
            IMgaFCO * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        END_INTERFACE
    } IMgaFCOVtbl;

    interface IMgaFCO
    {
        CONST_VTBL struct IMgaFCOVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaFCO_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaFCO_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaFCO_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaFCO_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaFCO_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaFCO_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaFCO_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaFCO_get_Status(This,p)	\
    (This)->lpVtbl -> get_Status(This,p)

#define IMgaFCO_get_IsWritable(This,p)	\
    (This)->lpVtbl -> get_IsWritable(This,p)

#define IMgaFCO_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IMgaFCO_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaFCO_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaFCO_get_AbsPath(This,pVal)	\
    (This)->lpVtbl -> get_AbsPath(This,pVal)

#define IMgaFCO_get_MetaBase(This,pVal)	\
    (This)->lpVtbl -> get_MetaBase(This,pVal)

#define IMgaFCO_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaFCO_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaFCO_get_Territory(This,pVal)	\
    (This)->lpVtbl -> get_Territory(This,pVal)

#define IMgaFCO_get_IsEqual(This,o,pVal)	\
    (This)->lpVtbl -> get_IsEqual(This,o,pVal)

#define IMgaFCO_GetIsEqualDisp(This,o,pVal)	\
    (This)->lpVtbl -> GetIsEqualDisp(This,o,pVal)

#define IMgaFCO_GetParent(This,pVal,objtype)	\
    (This)->lpVtbl -> GetParent(This,pVal,objtype)

#define IMgaFCO_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaFCO_DestroyObject(This)	\
    (This)->lpVtbl -> DestroyObject(This)

#define IMgaFCO_Open(This,mode)	\
    (This)->lpVtbl -> Open(This,mode)

#define IMgaFCO_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaFCO_Associate(This,userdata)	\
    (This)->lpVtbl -> Associate(This,userdata)

#define IMgaFCO_get_CurrentAssociation(This,userdata)	\
    (This)->lpVtbl -> get_CurrentAssociation(This,userdata)

#define IMgaFCO_SendEvent(This,mask)	\
    (This)->lpVtbl -> SendEvent(This,mask)

#define IMgaFCO_get_RelID(This,pVal)	\
    (This)->lpVtbl -> get_RelID(This,pVal)

#define IMgaFCO_put_RelID(This,newVal)	\
    (This)->lpVtbl -> put_RelID(This,newVal)

#define IMgaFCO_get_IsLibObject(This,pVal)	\
    (This)->lpVtbl -> get_IsLibObject(This,pVal)

#define IMgaFCO_Check(This)	\
    (This)->lpVtbl -> Check(This)

#define IMgaFCO_CheckTree(This)	\
    (This)->lpVtbl -> CheckTree(This)

#define IMgaFCO_put_Exempt(This,newVal)	\
    (This)->lpVtbl -> put_Exempt(This,newVal)

#define IMgaFCO_get_Exempt(This,pVal)	\
    (This)->lpVtbl -> get_Exempt(This,pVal)

#define IMgaFCO_get_ChildObjects(This,pVal)	\
    (This)->lpVtbl -> get_ChildObjects(This,pVal)

#define IMgaFCO_get_ChildObjectByRelID(This,relid,pVal)	\
    (This)->lpVtbl -> get_ChildObjectByRelID(This,relid,pVal)

#define IMgaFCO_GetChildObjectByRelIDDisp(This,relid,pVal)	\
    (This)->lpVtbl -> GetChildObjectByRelIDDisp(This,relid,pVal)

#define IMgaFCO_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaFCO_GetObjectByPathDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetObjectByPathDisp(This,path,pVal)

#define IMgaFCO_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaFCO_GetNthObjectByPathDisp(This,n_th,path,pVal)	\
    (This)->lpVtbl -> GetNthObjectByPathDisp(This,n_th,path,pVal)

#define IMgaFCO_PutReadOnlyAccessWithPropagate(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccessWithPropagate(This,pReadOnly)

#define IMgaFCO_PutReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccess(This,pReadOnly)

#define IMgaFCO_HasReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> HasReadOnlyAccess(This,pReadOnly)

#define IMgaFCO_GetGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> GetGuid(This,l1,l2,l3,l4)

#define IMgaFCO_PutGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> PutGuid(This,l1,l2,l3,l4)

#define IMgaFCO_GetGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> GetGuidDisp(This,guid_str)

#define IMgaFCO_PutGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> PutGuidDisp(This,guid_str)


#define IMgaFCO_get_Meta(This,pVal)	\
    (This)->lpVtbl -> get_Meta(This,pVal)

#define IMgaFCO_get_MetaRole(This,pVal)	\
    (This)->lpVtbl -> get_MetaRole(This,pVal)

#define IMgaFCO_get_ParentModel(This,pVal)	\
    (This)->lpVtbl -> get_ParentModel(This,pVal)

#define IMgaFCO_get_ParentFolder(This,pVal)	\
    (This)->lpVtbl -> get_ParentFolder(This,pVal)

#define IMgaFCO_get_Parts(This,pVal)	\
    (This)->lpVtbl -> get_Parts(This,pVal)

#define IMgaFCO_get_Part(This,asp,pVal)	\
    (This)->lpVtbl -> get_Part(This,asp,pVal)

#define IMgaFCO_GetPartDisp(This,asp,pVal)	\
    (This)->lpVtbl -> GetPartDisp(This,asp,pVal)

#define IMgaFCO_get_PartByMetaPart(This,part,pVal)	\
    (This)->lpVtbl -> get_PartByMetaPart(This,part,pVal)

#define IMgaFCO_GetPartByMetaPartDisp(This,part,pVal)	\
    (This)->lpVtbl -> GetPartByMetaPartDisp(This,part,pVal)

#define IMgaFCO_get_Attributes(This,pVal)	\
    (This)->lpVtbl -> get_Attributes(This,pVal)

#define IMgaFCO_get_Attribute(This,meta,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,meta,pVal)

#define IMgaFCO_GetAttributeDisp(This,meta,pVal)	\
    (This)->lpVtbl -> GetAttributeDisp(This,meta,pVal)

#define IMgaFCO_get_AttributeByName(This,name,pVal)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,pVal)

#define IMgaFCO_put_AttributeByName(This,name,newval)	\
    (This)->lpVtbl -> put_AttributeByName(This,name,newval)

#define IMgaFCO_GetAttributeByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,pVal)

#define IMgaFCO_SetAttributeByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetAttributeByNameDisp(This,name,newval)

#define IMgaFCO_get_StrAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_StrAttrByName(This,name,pVal)

#define IMgaFCO_put_StrAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_StrAttrByName(This,name,newval)

#define IMgaFCO_GetStrAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetStrAttrByNameDisp(This,name,pVal)

#define IMgaFCO_SetStrAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetStrAttrByNameDisp(This,name,newval)

#define IMgaFCO_get_IntAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_IntAttrByName(This,name,pVal)

#define IMgaFCO_put_IntAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_IntAttrByName(This,name,newval)

#define IMgaFCO_GetIntAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetIntAttrByNameDisp(This,name,pVal)

#define IMgaFCO_SetIntAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetIntAttrByNameDisp(This,name,newval)

#define IMgaFCO_get_FloatAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_FloatAttrByName(This,name,pVal)

#define IMgaFCO_put_FloatAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_FloatAttrByName(This,name,newval)

#define IMgaFCO_GetFloatAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetFloatAttrByNameDisp(This,name,pVal)

#define IMgaFCO_SetFloatAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetFloatAttrByNameDisp(This,name,newval)

#define IMgaFCO_get_BoolAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_BoolAttrByName(This,name,pVal)

#define IMgaFCO_put_BoolAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_BoolAttrByName(This,name,newval)

#define IMgaFCO_GetBoolAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetBoolAttrByNameDisp(This,name,pVal)

#define IMgaFCO_SetBoolAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetBoolAttrByNameDisp(This,name,newval)

#define IMgaFCO_get_RefAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_RefAttrByName(This,name,pVal)

#define IMgaFCO_put_RefAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_RefAttrByName(This,name,newval)

#define IMgaFCO_GetRefAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetRefAttrByNameDisp(This,name,pVal)

#define IMgaFCO_SetRefAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetRefAttrByNameDisp(This,name,newval)

#define IMgaFCO_ClearAttrByName(This,name)	\
    (This)->lpVtbl -> ClearAttrByName(This,name)

#define IMgaFCO_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaFCO_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaFCO_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaFCO_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaFCO_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaFCO_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaFCO_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaFCO_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaFCO_get_Constraints(This,includemeta,pVal)	\
    (This)->lpVtbl -> get_Constraints(This,includemeta,pVal)

#define IMgaFCO_GetConstraintsDisp(This,includemeta,pVal)	\
    (This)->lpVtbl -> GetConstraintsDisp(This,includemeta,pVal)

#define IMgaFCO_AddConstraint(This,constraint)	\
    (This)->lpVtbl -> AddConstraint(This,constraint)

#define IMgaFCO_DefineConstraint(This,name,mask,expr,nconstraint)	\
    (This)->lpVtbl -> DefineConstraint(This,name,mask,expr,nconstraint)

#define IMgaFCO_get_DerivedFrom(This,pVal)	\
    (This)->lpVtbl -> get_DerivedFrom(This,pVal)

#define IMgaFCO_get_DerivedObjects(This,pVal)	\
    (This)->lpVtbl -> get_DerivedObjects(This,pVal)

#define IMgaFCO_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IMgaFCO_get_BaseType(This,pVal)	\
    (This)->lpVtbl -> get_BaseType(This,pVal)

#define IMgaFCO_get_ArcheType(This,pVal)	\
    (This)->lpVtbl -> get_ArcheType(This,pVal)

#define IMgaFCO_get_IsInstance(This,pVal)	\
    (This)->lpVtbl -> get_IsInstance(This,pVal)

#define IMgaFCO_get_IsPrimaryDerived(This,pVal)	\
    (This)->lpVtbl -> get_IsPrimaryDerived(This,pVal)

#define IMgaFCO_AttachToArcheType(This,newtype,instance)	\
    (This)->lpVtbl -> AttachToArcheType(This,newtype,instance)

#define IMgaFCO_DetachFromArcheType(This)	\
    (This)->lpVtbl -> DetachFromArcheType(This)

#define IMgaFCO_GetAbsMetaPath(This,abspath)	\
    (This)->lpVtbl -> GetAbsMetaPath(This,abspath)

#define IMgaFCO_GetRelMetaPath(This,begfco,relpath,refs)	\
    (This)->lpVtbl -> GetRelMetaPath(This,begfco,relpath,refs)

#define IMgaFCO_get_PartOfConns(This,pVal)	\
    (This)->lpVtbl -> get_PartOfConns(This,pVal)

#define IMgaFCO_get_MemberOfSets(This,pVal)	\
    (This)->lpVtbl -> get_MemberOfSets(This,pVal)

#define IMgaFCO_get_ReferencedBy(This,pVal)	\
    (This)->lpVtbl -> get_ReferencedBy(This,pVal)

#define IMgaFCO_CreateCollection(This,pVal)	\
    (This)->lpVtbl -> CreateCollection(This,pVal)

#define IMgaFCO_get_RootFCO(This,pVal)	\
    (This)->lpVtbl -> get_RootFCO(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_Meta_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaMetaFCO **pVal);


void __RPC_STUB IMgaFCO_get_Meta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_MetaRole_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaMetaRole **pVal);


void __RPC_STUB IMgaFCO_get_MetaRole_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_ParentModel_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaModel **pVal);


void __RPC_STUB IMgaFCO_get_ParentModel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_ParentFolder_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaFolder **pVal);


void __RPC_STUB IMgaFCO_get_ParentFolder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_Parts_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaParts **pVal);


void __RPC_STUB IMgaFCO_get_Parts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_Part_Proxy( 
    IMgaFCO * This,
    /* [in] */ IMgaMetaAspect *asp,
    /* [retval][out] */ IMgaPart **pVal);


void __RPC_STUB IMgaFCO_get_Part_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetPartDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ IMgaMetaAspect *asp,
    /* [retval][out] */ IMgaPart **pVal);


void __RPC_STUB IMgaFCO_GetPartDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_PartByMetaPart_Proxy( 
    IMgaFCO * This,
    /* [in] */ IMgaMetaPart *part,
    /* [retval][out] */ IMgaPart **pVal);


void __RPC_STUB IMgaFCO_get_PartByMetaPart_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetPartByMetaPartDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ IMgaMetaPart *part,
    /* [retval][out] */ IMgaPart **pVal);


void __RPC_STUB IMgaFCO_GetPartByMetaPartDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_Attributes_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaAttributes **pVal);


void __RPC_STUB IMgaFCO_get_Attributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_Attribute_Proxy( 
    IMgaFCO * This,
    /* [in] */ IMgaMetaAttribute *meta,
    /* [retval][out] */ IMgaAttribute **pVal);


void __RPC_STUB IMgaFCO_get_Attribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetAttributeDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ IMgaMetaAttribute *meta,
    /* [retval][out] */ IMgaAttribute **pVal);


void __RPC_STUB IMgaFCO_GetAttributeDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_AttributeByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IMgaFCO_get_AttributeByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMgaFCO_put_AttributeByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT newval);


void __RPC_STUB IMgaFCO_put_AttributeByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetAttributeByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IMgaFCO_GetAttributeByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_SetAttributeByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT newval);


void __RPC_STUB IMgaFCO_SetAttributeByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_StrAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFCO_get_StrAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFCO_put_StrAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaFCO_put_StrAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetStrAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFCO_GetStrAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_SetStrAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaFCO_SetStrAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_IntAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ long *pVal);


void __RPC_STUB IMgaFCO_get_IntAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFCO_put_IntAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ long newval);


void __RPC_STUB IMgaFCO_put_IntAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetIntAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ long *pVal);


void __RPC_STUB IMgaFCO_GetIntAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_SetIntAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ long newval);


void __RPC_STUB IMgaFCO_SetIntAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_FloatAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ double *pVal);


void __RPC_STUB IMgaFCO_get_FloatAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFCO_put_FloatAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ double newval);


void __RPC_STUB IMgaFCO_put_FloatAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetFloatAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ double *pVal);


void __RPC_STUB IMgaFCO_GetFloatAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_SetFloatAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ double newval);


void __RPC_STUB IMgaFCO_SetFloatAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_BoolAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaFCO_get_BoolAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFCO_put_BoolAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL newval);


void __RPC_STUB IMgaFCO_put_BoolAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetBoolAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaFCO_GetBoolAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_SetBoolAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT_BOOL newval);


void __RPC_STUB IMgaFCO_SetBoolAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_RefAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaFCO_get_RefAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFCO_put_RefAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ IMgaFCO *newval);


void __RPC_STUB IMgaFCO_put_RefAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetRefAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaFCO_GetRefAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_SetRefAttrByNameDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ IMgaFCO *newval);


void __RPC_STUB IMgaFCO_SetRefAttrByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_ClearAttrByName_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name);


void __RPC_STUB IMgaFCO_ClearAttrByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_RegistryNode_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaFCO_get_RegistryNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetRegistryNodeDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaFCO_GetRegistryNodeDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_Registry_Proxy( 
    IMgaFCO * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **pVal);


void __RPC_STUB IMgaFCO_get_Registry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetRegistryDisp_Proxy( 
    IMgaFCO * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **pVal);


void __RPC_STUB IMgaFCO_GetRegistryDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_RegistryValue_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFCO_get_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IMgaFCO_put_RegistryValue_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaFCO_put_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetRegistryValueDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFCO_GetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_SetRegistryValueDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaFCO_SetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_Constraints_Proxy( 
    IMgaFCO * This,
    /* [in] */ VARIANT_BOOL includemeta,
    /* [retval][out] */ IMgaConstraints **pVal);


void __RPC_STUB IMgaFCO_get_Constraints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetConstraintsDisp_Proxy( 
    IMgaFCO * This,
    /* [in] */ VARIANT_BOOL includemeta,
    /* [retval][out] */ IMgaConstraints **pVal);


void __RPC_STUB IMgaFCO_GetConstraintsDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFCO_AddConstraint_Proxy( 
    IMgaFCO * This,
    /* [in] */ IMgaConstraint *constraint);


void __RPC_STUB IMgaFCO_AddConstraint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFCO_DefineConstraint_Proxy( 
    IMgaFCO * This,
    /* [in] */ BSTR name,
    /* [in] */ long mask,
    /* [in] */ BSTR expr,
    /* [out] */ IMgaConstraint **nconstraint);


void __RPC_STUB IMgaFCO_DefineConstraint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_DerivedFrom_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaFCO_get_DerivedFrom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_DerivedObjects_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaFCO_get_DerivedObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_Type_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaFCO_get_Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_BaseType_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaFCO_get_BaseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_ArcheType_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaFCO_get_ArcheType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_IsInstance_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaFCO_get_IsInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_IsPrimaryDerived_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaFCO_get_IsPrimaryDerived_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_AttachToArcheType_Proxy( 
    IMgaFCO * This,
    /* [in] */ IMgaFCO *newtype,
    /* [in] */ VARIANT_BOOL instance);


void __RPC_STUB IMgaFCO_AttachToArcheType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_DetachFromArcheType_Proxy( 
    IMgaFCO * This);


void __RPC_STUB IMgaFCO_DetachFromArcheType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetAbsMetaPath_Proxy( 
    IMgaFCO * This,
    /* [out][in] */ BSTR *abspath);


void __RPC_STUB IMgaFCO_GetAbsMetaPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_GetRelMetaPath_Proxy( 
    IMgaFCO * This,
    /* [in] */ IMgaFCO *begfco,
    /* [out][in] */ BSTR *relpath,
    /* [defaultvalue][in] */ IMgaFCOs *refs);


void __RPC_STUB IMgaFCO_GetRelMetaPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_PartOfConns_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaConnPoints **pVal);


void __RPC_STUB IMgaFCO_get_PartOfConns_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_MemberOfSets_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaFCO_get_MemberOfSets_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_ReferencedBy_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaFCO_get_ReferencedBy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCO_CreateCollection_Proxy( 
    IMgaFCO * This,
    /* [out][in] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaFCO_CreateCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCO_get_RootFCO_Proxy( 
    IMgaFCO * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaFCO_get_RootFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaFCO_INTERFACE_DEFINED__ */


#ifndef __IMgaFolder_INTERFACE_DEFINED__
#define __IMgaFolder_INTERFACE_DEFINED__

/* interface IMgaFolder */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaFolder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("270B4F96-B17C-11D3-9AD1-00AA00B6FE26")
    IMgaFolder : public IMgaObject
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaFolder( 
            /* [retval][out] */ IMgaMetaFolder **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParentFolder( 
            /* [retval][out] */ IMgaFolder **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ChildFolders( 
            /* [retval][out] */ IMgaFolders **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolder( 
            /* [in] */ IMgaMetaFolder *meta,
            /* [retval][out] */ IMgaFolder **nf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateRootObject( 
            /* [in] */ IMgaMetaFCO *meta,
            /* [retval][out] */ IMgaFCO **nobj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeriveRootObject( 
            /* [in] */ IMgaFCO *base,
            /* [in] */ VARIANT_BOOL instance,
            /* [retval][out] */ IMgaFCO **nobj) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RegistryNode( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryNodeDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Registry( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryDisp( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RegistryValue( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_RegistryValue( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Constraints( 
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConstraintsDisp( 
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddConstraint( 
            /* [in] */ IMgaConstraint *constraint) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DefineConstraint( 
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MoveFCOs( 
            /* [in] */ IMgaFCOs *to_copy,
            /* [out] */ IMgaFCOs **objs) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyFCOs( 
            /* [in] */ IMgaFCOs *to_move,
            /* [out] */ IMgaFCOs **objs) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MoveFolders( 
            /* [in] */ IMgaFolders *to_copy,
            /* [out] */ IMgaFolders **objs) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyFolders( 
            /* [in] */ IMgaFolders *to_move,
            /* [out] */ IMgaFolders **objs) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RefreshParent( 
            /* [in] */ IMgaFolder *folder) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChildFCOs( 
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChildFCO( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChildFCODisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDescendantFCOs( 
            /* [in] */ IMgaFilter *filter,
            /* [retval][out] */ IMgaFCOs **returnset) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChildrenOfKind( 
            /* [in] */ BSTR kindname,
            /* [retval][out] */ IMgaFCOs **returnset) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChildRelIDCounter( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ChildRelIDCounter( 
            /* [in] */ long pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachLibrary( 
            /* [in] */ BSTR connstring,
            /* [out] */ IMgaFolder **nf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RefreshLibrary( 
            /* [in] */ BSTR connstring) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryName( 
            /* [retval][out] */ BSTR *connstring) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LibraryName( 
            /* [in] */ BSTR connstring) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachLibraryV3( 
            /* [in] */ BSTR connstring,
            /* [in] */ VARIANT_BOOL ungroup,
            /* [retval][out] */ IMgaFolder **nf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RefreshLibraryV3( 
            /* [in] */ BSTR connstring,
            /* [in] */ VARIANT_BOOL ungroup,
            /* [retval][out] */ long *numOfErrors) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVirtuallyIncludes( 
            /* [retval][out] */ IMgaFolders **pDep) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVirtuallyIncludedBy( 
            /* [retval][out] */ IMgaFolders **pDep) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVirtuallyIncludes( 
            /* [in] */ IMgaFolders *pDep) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVirtuallyIncludedBy( 
            /* [in] */ IMgaFolders *pDep) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaFolderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaFolder * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaFolder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaFolder * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaFolder * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaFolder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaFolder * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaFolder * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaFolder * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWritable )( 
            IMgaFolder * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            IMgaFolder * This,
            /* [retval][out] */ ID_type *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaFolder * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaFolder * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsPath )( 
            IMgaFolder * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaBase )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaFolder * This,
            /* [retval][out] */ objtype_enum *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territory )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaTerritory **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEqual )( 
            IMgaFolder * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsEqualDisp )( 
            IMgaFolder * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IMgaFolder * This,
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaFolder * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObject )( 
            IMgaFolder * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaFolder * This,
            /* [defaultvalue][in] */ openmode mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaFolder * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaFolder * This,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAssociation )( 
            IMgaFolder * This,
            /* [retval][out] */ VARIANT *userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendEvent )( 
            IMgaFolder * This,
            /* [in] */ long mask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelID )( 
            IMgaFolder * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelID )( 
            IMgaFolder * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLibObject )( 
            IMgaFolder * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Check )( 
            IMgaFolder * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTree )( 
            IMgaFolder * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Exempt )( 
            IMgaFolder * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exempt )( 
            IMgaFolder * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjects )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaObjects **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjectByRelID )( 
            IMgaFolder * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildObjectByRelIDDisp )( 
            IMgaFolder * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByPathDisp )( 
            IMgaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaFolder * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNthObjectByPathDisp )( 
            IMgaFolder * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccessWithPropagate )( 
            IMgaFolder * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccess )( 
            IMgaFolder * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasReadOnlyAccess )( 
            IMgaFolder * This,
            /* [retval][out] */ VARIANT_BOOL *pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuid )( 
            IMgaFolder * This,
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuid )( 
            IMgaFolder * This,
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuidDisp )( 
            IMgaFolder * This,
            /* [retval][out] */ BSTR *guid_str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuidDisp )( 
            IMgaFolder * This,
            /* [in] */ BSTR guid_str);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaFolder )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaMetaFolder **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentFolder )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildFolders )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaFolders **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFolder )( 
            IMgaFolder * This,
            /* [in] */ IMgaMetaFolder *meta,
            /* [retval][out] */ IMgaFolder **nf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateRootObject )( 
            IMgaFolder * This,
            /* [in] */ IMgaMetaFCO *meta,
            /* [retval][out] */ IMgaFCO **nobj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeriveRootObject )( 
            IMgaFolder * This,
            /* [in] */ IMgaFCO *base,
            /* [in] */ VARIANT_BOOL instance,
            /* [retval][out] */ IMgaFCO **nobj);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaFolder * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaFolder * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaFolder * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaFolder * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaFolder * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaFolder * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConstraintsDisp )( 
            IMgaFolder * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddConstraint )( 
            IMgaFolder * This,
            /* [in] */ IMgaConstraint *constraint);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DefineConstraint )( 
            IMgaFolder * This,
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MoveFCOs )( 
            IMgaFolder * This,
            /* [in] */ IMgaFCOs *to_copy,
            /* [out] */ IMgaFCOs **objs);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFCOs )( 
            IMgaFolder * This,
            /* [in] */ IMgaFCOs *to_move,
            /* [out] */ IMgaFCOs **objs);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MoveFolders )( 
            IMgaFolder * This,
            /* [in] */ IMgaFolders *to_copy,
            /* [out] */ IMgaFolders **objs);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFolders )( 
            IMgaFolder * This,
            /* [in] */ IMgaFolders *to_move,
            /* [out] */ IMgaFolders **objs);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RefreshParent )( 
            IMgaFolder * This,
            /* [in] */ IMgaFolder *folder);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChildFCOs )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChildFCO )( 
            IMgaFolder * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildFCODisp )( 
            IMgaFolder * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDescendantFCOs )( 
            IMgaFolder * This,
            /* [in] */ IMgaFilter *filter,
            /* [retval][out] */ IMgaFCOs **returnset);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChildrenOfKind )( 
            IMgaFolder * This,
            /* [in] */ BSTR kindname,
            /* [retval][out] */ IMgaFCOs **returnset);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChildRelIDCounter )( 
            IMgaFolder * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ChildRelIDCounter )( 
            IMgaFolder * This,
            /* [in] */ long pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachLibrary )( 
            IMgaFolder * This,
            /* [in] */ BSTR connstring,
            /* [out] */ IMgaFolder **nf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RefreshLibrary )( 
            IMgaFolder * This,
            /* [in] */ BSTR connstring);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibraryName )( 
            IMgaFolder * This,
            /* [retval][out] */ BSTR *connstring);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LibraryName )( 
            IMgaFolder * This,
            /* [in] */ BSTR connstring);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachLibraryV3 )( 
            IMgaFolder * This,
            /* [in] */ BSTR connstring,
            /* [in] */ VARIANT_BOOL ungroup,
            /* [retval][out] */ IMgaFolder **nf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RefreshLibraryV3 )( 
            IMgaFolder * This,
            /* [in] */ BSTR connstring,
            /* [in] */ VARIANT_BOOL ungroup,
            /* [retval][out] */ long *numOfErrors);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVirtuallyIncludes )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaFolders **pDep);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVirtuallyIncludedBy )( 
            IMgaFolder * This,
            /* [retval][out] */ IMgaFolders **pDep);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetVirtuallyIncludes )( 
            IMgaFolder * This,
            /* [in] */ IMgaFolders *pDep);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetVirtuallyIncludedBy )( 
            IMgaFolder * This,
            /* [in] */ IMgaFolders *pDep);
        
        END_INTERFACE
    } IMgaFolderVtbl;

    interface IMgaFolder
    {
        CONST_VTBL struct IMgaFolderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaFolder_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaFolder_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaFolder_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaFolder_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaFolder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaFolder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaFolder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaFolder_get_Status(This,p)	\
    (This)->lpVtbl -> get_Status(This,p)

#define IMgaFolder_get_IsWritable(This,p)	\
    (This)->lpVtbl -> get_IsWritable(This,p)

#define IMgaFolder_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IMgaFolder_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaFolder_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaFolder_get_AbsPath(This,pVal)	\
    (This)->lpVtbl -> get_AbsPath(This,pVal)

#define IMgaFolder_get_MetaBase(This,pVal)	\
    (This)->lpVtbl -> get_MetaBase(This,pVal)

#define IMgaFolder_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaFolder_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaFolder_get_Territory(This,pVal)	\
    (This)->lpVtbl -> get_Territory(This,pVal)

#define IMgaFolder_get_IsEqual(This,o,pVal)	\
    (This)->lpVtbl -> get_IsEqual(This,o,pVal)

#define IMgaFolder_GetIsEqualDisp(This,o,pVal)	\
    (This)->lpVtbl -> GetIsEqualDisp(This,o,pVal)

#define IMgaFolder_GetParent(This,pVal,objtype)	\
    (This)->lpVtbl -> GetParent(This,pVal,objtype)

#define IMgaFolder_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaFolder_DestroyObject(This)	\
    (This)->lpVtbl -> DestroyObject(This)

#define IMgaFolder_Open(This,mode)	\
    (This)->lpVtbl -> Open(This,mode)

#define IMgaFolder_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaFolder_Associate(This,userdata)	\
    (This)->lpVtbl -> Associate(This,userdata)

#define IMgaFolder_get_CurrentAssociation(This,userdata)	\
    (This)->lpVtbl -> get_CurrentAssociation(This,userdata)

#define IMgaFolder_SendEvent(This,mask)	\
    (This)->lpVtbl -> SendEvent(This,mask)

#define IMgaFolder_get_RelID(This,pVal)	\
    (This)->lpVtbl -> get_RelID(This,pVal)

#define IMgaFolder_put_RelID(This,newVal)	\
    (This)->lpVtbl -> put_RelID(This,newVal)

#define IMgaFolder_get_IsLibObject(This,pVal)	\
    (This)->lpVtbl -> get_IsLibObject(This,pVal)

#define IMgaFolder_Check(This)	\
    (This)->lpVtbl -> Check(This)

#define IMgaFolder_CheckTree(This)	\
    (This)->lpVtbl -> CheckTree(This)

#define IMgaFolder_put_Exempt(This,newVal)	\
    (This)->lpVtbl -> put_Exempt(This,newVal)

#define IMgaFolder_get_Exempt(This,pVal)	\
    (This)->lpVtbl -> get_Exempt(This,pVal)

#define IMgaFolder_get_ChildObjects(This,pVal)	\
    (This)->lpVtbl -> get_ChildObjects(This,pVal)

#define IMgaFolder_get_ChildObjectByRelID(This,relid,pVal)	\
    (This)->lpVtbl -> get_ChildObjectByRelID(This,relid,pVal)

#define IMgaFolder_GetChildObjectByRelIDDisp(This,relid,pVal)	\
    (This)->lpVtbl -> GetChildObjectByRelIDDisp(This,relid,pVal)

#define IMgaFolder_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaFolder_GetObjectByPathDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetObjectByPathDisp(This,path,pVal)

#define IMgaFolder_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaFolder_GetNthObjectByPathDisp(This,n_th,path,pVal)	\
    (This)->lpVtbl -> GetNthObjectByPathDisp(This,n_th,path,pVal)

#define IMgaFolder_PutReadOnlyAccessWithPropagate(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccessWithPropagate(This,pReadOnly)

#define IMgaFolder_PutReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccess(This,pReadOnly)

#define IMgaFolder_HasReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> HasReadOnlyAccess(This,pReadOnly)

#define IMgaFolder_GetGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> GetGuid(This,l1,l2,l3,l4)

#define IMgaFolder_PutGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> PutGuid(This,l1,l2,l3,l4)

#define IMgaFolder_GetGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> GetGuidDisp(This,guid_str)

#define IMgaFolder_PutGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> PutGuidDisp(This,guid_str)


#define IMgaFolder_get_MetaFolder(This,pVal)	\
    (This)->lpVtbl -> get_MetaFolder(This,pVal)

#define IMgaFolder_get_ParentFolder(This,pVal)	\
    (This)->lpVtbl -> get_ParentFolder(This,pVal)

#define IMgaFolder_get_ChildFolders(This,pVal)	\
    (This)->lpVtbl -> get_ChildFolders(This,pVal)

#define IMgaFolder_CreateFolder(This,meta,nf)	\
    (This)->lpVtbl -> CreateFolder(This,meta,nf)

#define IMgaFolder_CreateRootObject(This,meta,nobj)	\
    (This)->lpVtbl -> CreateRootObject(This,meta,nobj)

#define IMgaFolder_DeriveRootObject(This,base,instance,nobj)	\
    (This)->lpVtbl -> DeriveRootObject(This,base,instance,nobj)

#define IMgaFolder_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaFolder_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaFolder_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaFolder_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaFolder_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaFolder_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaFolder_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaFolder_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaFolder_get_Constraints(This,includemeta,pVal)	\
    (This)->lpVtbl -> get_Constraints(This,includemeta,pVal)

#define IMgaFolder_GetConstraintsDisp(This,includemeta,pVal)	\
    (This)->lpVtbl -> GetConstraintsDisp(This,includemeta,pVal)

#define IMgaFolder_AddConstraint(This,constraint)	\
    (This)->lpVtbl -> AddConstraint(This,constraint)

#define IMgaFolder_DefineConstraint(This,name,mask,expr,nconstraint)	\
    (This)->lpVtbl -> DefineConstraint(This,name,mask,expr,nconstraint)

#define IMgaFolder_MoveFCOs(This,to_copy,objs)	\
    (This)->lpVtbl -> MoveFCOs(This,to_copy,objs)

#define IMgaFolder_CopyFCOs(This,to_move,objs)	\
    (This)->lpVtbl -> CopyFCOs(This,to_move,objs)

#define IMgaFolder_MoveFolders(This,to_copy,objs)	\
    (This)->lpVtbl -> MoveFolders(This,to_copy,objs)

#define IMgaFolder_CopyFolders(This,to_move,objs)	\
    (This)->lpVtbl -> CopyFolders(This,to_move,objs)

#define IMgaFolder_RefreshParent(This,folder)	\
    (This)->lpVtbl -> RefreshParent(This,folder)

#define IMgaFolder_get_ChildFCOs(This,pVal)	\
    (This)->lpVtbl -> get_ChildFCOs(This,pVal)

#define IMgaFolder_get_ChildFCO(This,name,pVal)	\
    (This)->lpVtbl -> get_ChildFCO(This,name,pVal)

#define IMgaFolder_GetChildFCODisp(This,name,pVal)	\
    (This)->lpVtbl -> GetChildFCODisp(This,name,pVal)

#define IMgaFolder_GetDescendantFCOs(This,filter,returnset)	\
    (This)->lpVtbl -> GetDescendantFCOs(This,filter,returnset)

#define IMgaFolder_GetChildrenOfKind(This,kindname,returnset)	\
    (This)->lpVtbl -> GetChildrenOfKind(This,kindname,returnset)

#define IMgaFolder_get_ChildRelIDCounter(This,pVal)	\
    (This)->lpVtbl -> get_ChildRelIDCounter(This,pVal)

#define IMgaFolder_put_ChildRelIDCounter(This,pVal)	\
    (This)->lpVtbl -> put_ChildRelIDCounter(This,pVal)

#define IMgaFolder_AttachLibrary(This,connstring,nf)	\
    (This)->lpVtbl -> AttachLibrary(This,connstring,nf)

#define IMgaFolder_RefreshLibrary(This,connstring)	\
    (This)->lpVtbl -> RefreshLibrary(This,connstring)

#define IMgaFolder_get_LibraryName(This,connstring)	\
    (This)->lpVtbl -> get_LibraryName(This,connstring)

#define IMgaFolder_put_LibraryName(This,connstring)	\
    (This)->lpVtbl -> put_LibraryName(This,connstring)

#define IMgaFolder_AttachLibraryV3(This,connstring,ungroup,nf)	\
    (This)->lpVtbl -> AttachLibraryV3(This,connstring,ungroup,nf)

#define IMgaFolder_RefreshLibraryV3(This,connstring,ungroup,numOfErrors)	\
    (This)->lpVtbl -> RefreshLibraryV3(This,connstring,ungroup,numOfErrors)

#define IMgaFolder_GetVirtuallyIncludes(This,pDep)	\
    (This)->lpVtbl -> GetVirtuallyIncludes(This,pDep)

#define IMgaFolder_GetVirtuallyIncludedBy(This,pDep)	\
    (This)->lpVtbl -> GetVirtuallyIncludedBy(This,pDep)

#define IMgaFolder_SetVirtuallyIncludes(This,pDep)	\
    (This)->lpVtbl -> SetVirtuallyIncludes(This,pDep)

#define IMgaFolder_SetVirtuallyIncludedBy(This,pDep)	\
    (This)->lpVtbl -> SetVirtuallyIncludedBy(This,pDep)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_MetaFolder_Proxy( 
    IMgaFolder * This,
    /* [retval][out] */ IMgaMetaFolder **pVal);


void __RPC_STUB IMgaFolder_get_MetaFolder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_ParentFolder_Proxy( 
    IMgaFolder * This,
    /* [retval][out] */ IMgaFolder **pVal);


void __RPC_STUB IMgaFolder_get_ParentFolder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_ChildFolders_Proxy( 
    IMgaFolder * This,
    /* [retval][out] */ IMgaFolders **pVal);


void __RPC_STUB IMgaFolder_get_ChildFolders_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_CreateFolder_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaMetaFolder *meta,
    /* [retval][out] */ IMgaFolder **nf);


void __RPC_STUB IMgaFolder_CreateFolder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_CreateRootObject_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaMetaFCO *meta,
    /* [retval][out] */ IMgaFCO **nobj);


void __RPC_STUB IMgaFolder_CreateRootObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_DeriveRootObject_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaFCO *base,
    /* [in] */ VARIANT_BOOL instance,
    /* [retval][out] */ IMgaFCO **nobj);


void __RPC_STUB IMgaFolder_DeriveRootObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_RegistryNode_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaFolder_get_RegistryNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_GetRegistryNodeDisp_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaFolder_GetRegistryNodeDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_Registry_Proxy( 
    IMgaFolder * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **pVal);


void __RPC_STUB IMgaFolder_get_Registry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_GetRegistryDisp_Proxy( 
    IMgaFolder * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **pVal);


void __RPC_STUB IMgaFolder_GetRegistryDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_RegistryValue_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFolder_get_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_GetRegistryValueDisp_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFolder_GetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_put_RegistryValue_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaFolder_put_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_SetRegistryValueDisp_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaFolder_SetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_Constraints_Proxy( 
    IMgaFolder * This,
    /* [in] */ VARIANT_BOOL includemeta,
    /* [retval][out] */ IMgaConstraints **pVal);


void __RPC_STUB IMgaFolder_get_Constraints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_GetConstraintsDisp_Proxy( 
    IMgaFolder * This,
    /* [in] */ VARIANT_BOOL includemeta,
    /* [retval][out] */ IMgaConstraints **pVal);


void __RPC_STUB IMgaFolder_GetConstraintsDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_AddConstraint_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaConstraint *constraint);


void __RPC_STUB IMgaFolder_AddConstraint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_DefineConstraint_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR name,
    /* [in] */ long mask,
    /* [in] */ BSTR expr,
    /* [out] */ IMgaConstraint **nconstraint);


void __RPC_STUB IMgaFolder_DefineConstraint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_MoveFCOs_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaFCOs *to_copy,
    /* [out] */ IMgaFCOs **objs);


void __RPC_STUB IMgaFolder_MoveFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_CopyFCOs_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaFCOs *to_move,
    /* [out] */ IMgaFCOs **objs);


void __RPC_STUB IMgaFolder_CopyFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_MoveFolders_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaFolders *to_copy,
    /* [out] */ IMgaFolders **objs);


void __RPC_STUB IMgaFolder_MoveFolders_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_CopyFolders_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaFolders *to_move,
    /* [out] */ IMgaFolders **objs);


void __RPC_STUB IMgaFolder_CopyFolders_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_RefreshParent_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaFolder *folder);


void __RPC_STUB IMgaFolder_RefreshParent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_ChildFCOs_Proxy( 
    IMgaFolder * This,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaFolder_get_ChildFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_ChildFCO_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaFolder_get_ChildFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_GetChildFCODisp_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaFolder_GetChildFCODisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_GetDescendantFCOs_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaFilter *filter,
    /* [retval][out] */ IMgaFCOs **returnset);


void __RPC_STUB IMgaFolder_GetDescendantFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_GetChildrenOfKind_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR kindname,
    /* [retval][out] */ IMgaFCOs **returnset);


void __RPC_STUB IMgaFolder_GetChildrenOfKind_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_ChildRelIDCounter_Proxy( 
    IMgaFolder * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB IMgaFolder_get_ChildRelIDCounter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IMgaFolder_put_ChildRelIDCounter_Proxy( 
    IMgaFolder * This,
    /* [in] */ long pVal);


void __RPC_STUB IMgaFolder_put_ChildRelIDCounter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_AttachLibrary_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR connstring,
    /* [out] */ IMgaFolder **nf);


void __RPC_STUB IMgaFolder_AttachLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_RefreshLibrary_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR connstring);


void __RPC_STUB IMgaFolder_RefreshLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFolder_get_LibraryName_Proxy( 
    IMgaFolder * This,
    /* [retval][out] */ BSTR *connstring);


void __RPC_STUB IMgaFolder_get_LibraryName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFolder_put_LibraryName_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR connstring);


void __RPC_STUB IMgaFolder_put_LibraryName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_AttachLibraryV3_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR connstring,
    /* [in] */ VARIANT_BOOL ungroup,
    /* [retval][out] */ IMgaFolder **nf);


void __RPC_STUB IMgaFolder_AttachLibraryV3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_RefreshLibraryV3_Proxy( 
    IMgaFolder * This,
    /* [in] */ BSTR connstring,
    /* [in] */ VARIANT_BOOL ungroup,
    /* [retval][out] */ long *numOfErrors);


void __RPC_STUB IMgaFolder_RefreshLibraryV3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_GetVirtuallyIncludes_Proxy( 
    IMgaFolder * This,
    /* [retval][out] */ IMgaFolders **pDep);


void __RPC_STUB IMgaFolder_GetVirtuallyIncludes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_GetVirtuallyIncludedBy_Proxy( 
    IMgaFolder * This,
    /* [retval][out] */ IMgaFolders **pDep);


void __RPC_STUB IMgaFolder_GetVirtuallyIncludedBy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_SetVirtuallyIncludes_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaFolders *pDep);


void __RPC_STUB IMgaFolder_SetVirtuallyIncludes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolder_SetVirtuallyIncludedBy_Proxy( 
    IMgaFolder * This,
    /* [in] */ IMgaFolders *pDep);


void __RPC_STUB IMgaFolder_SetVirtuallyIncludedBy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaFolder_INTERFACE_DEFINED__ */


#ifndef __IMgaModel_INTERFACE_DEFINED__
#define __IMgaModel_INTERFACE_DEFINED__

/* interface IMgaModel */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaModel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("270B4F9A-B17C-11D3-9AD1-00AA00B6FE26")
    IMgaModel : public IMgaFCO
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateChildObject( 
            /* [in] */ IMgaMetaRole *meta,
            /* [retval][out] */ IMgaFCO **newobj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeriveChildObject( 
            /* [in] */ IMgaFCO *base,
            /* [in] */ IMgaMetaRole *role,
            /* [in] */ VARIANT_BOOL instance,
            /* [retval][out] */ IMgaFCO **newobj) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ChildDerivedFrom( 
            /* [in] */ IMgaFCO *baseobj,
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChildDerivedFromDisp( 
            /* [in] */ IMgaFCO *baseobj,
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AspectParts( 
            /* [in] */ IMgaMetaAspect *asp,
            /* [in] */ unsigned int filter,
            /* [retval][out] */ IMgaParts **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAspectPartsDisp( 
            /* [in] */ IMgaMetaAspect *asp,
            /* [in] */ unsigned int filter,
            /* [retval][out] */ IMgaParts **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateSimpleConn( 
            /* [in] */ IMgaMetaRole *meta,
            /* [in] */ IMgaFCO *src,
            /* [in] */ IMgaFCO *dst,
            /* [in] */ IMgaFCOs *srcrefs,
            /* [in] */ IMgaFCOs *dstrefs,
            /* [retval][out] */ IMgaFCO **newobj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateReference( 
            /* [in] */ IMgaMetaRole *meta,
            /* [in] */ IMgaFCO *target,
            /* [retval][out] */ IMgaFCO **newobj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddInternalConnections( 
            /* [in] */ IMgaFCOs *inobjs,
            /* [retval][out] */ IMgaFCOs **outobjs) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MoveFCOs( 
            /* [in] */ IMgaFCOs *to_copy,
            /* [in] */ IMgaMetaRoles *destroles,
            /* [out] */ IMgaFCOs **objs) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyFCOs( 
            /* [in] */ IMgaFCOs *to_move,
            /* [in] */ IMgaMetaRoles *destroles,
            /* [out] */ IMgaFCOs **objs) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChildFCOs( 
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChildFCO( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChildFCODisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDescendantFCOs( 
            /* [in] */ IMgaFilter *filter,
            /* [retval][out] */ IMgaFCOs **returnset) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetChildrenOfKind( 
            /* [in] */ BSTR kindname,
            /* [retval][out] */ IMgaFCOs **returnset) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChildRelIDCounter( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ChildRelIDCounter( 
            /* [in] */ long pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaModelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaModel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaModel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaModel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaModel * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaModel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaModel * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaModel * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaModel * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWritable )( 
            IMgaModel * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            IMgaModel * This,
            /* [retval][out] */ ID_type *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaModel * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaModel * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsPath )( 
            IMgaModel * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaBase )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaModel * This,
            /* [retval][out] */ objtype_enum *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territory )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaTerritory **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEqual )( 
            IMgaModel * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsEqualDisp )( 
            IMgaModel * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IMgaModel * This,
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaModel * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObject )( 
            IMgaModel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaModel * This,
            /* [defaultvalue][in] */ openmode mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaModel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaModel * This,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAssociation )( 
            IMgaModel * This,
            /* [retval][out] */ VARIANT *userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendEvent )( 
            IMgaModel * This,
            /* [in] */ long mask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelID )( 
            IMgaModel * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelID )( 
            IMgaModel * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLibObject )( 
            IMgaModel * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Check )( 
            IMgaModel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTree )( 
            IMgaModel * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Exempt )( 
            IMgaModel * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exempt )( 
            IMgaModel * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjects )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaObjects **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjectByRelID )( 
            IMgaModel * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildObjectByRelIDDisp )( 
            IMgaModel * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByPathDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaModel * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNthObjectByPathDisp )( 
            IMgaModel * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccessWithPropagate )( 
            IMgaModel * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccess )( 
            IMgaModel * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasReadOnlyAccess )( 
            IMgaModel * This,
            /* [retval][out] */ VARIANT_BOOL *pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuid )( 
            IMgaModel * This,
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuid )( 
            IMgaModel * This,
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuidDisp )( 
            IMgaModel * This,
            /* [retval][out] */ BSTR *guid_str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuidDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR guid_str);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Meta )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaMetaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRole )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaMetaRole **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentModel )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaModel **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentFolder )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parts )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaParts **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Part )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartDisp )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartByMetaPart )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartByMetaPartDisp )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaAttributes **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attribute )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeDisp )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AttributeByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttributeByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StrAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StrAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStrAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIntAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIntAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloatAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FloatAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFloatAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFloatAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoolAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoolAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoolAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBoolAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RefAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRefAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRefAttrByNameDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearAttrByName )( 
            IMgaModel * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaModel * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaModel * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaModel * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaModel * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaModel * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConstraintsDisp )( 
            IMgaModel * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddConstraint )( 
            IMgaModel * This,
            /* [in] */ IMgaConstraint *constraint);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DefineConstraint )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedFrom )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedObjects )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseType )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcheType )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstance )( 
            IMgaModel * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimaryDerived )( 
            IMgaModel * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToArcheType )( 
            IMgaModel * This,
            /* [in] */ IMgaFCO *newtype,
            /* [in] */ VARIANT_BOOL instance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachFromArcheType )( 
            IMgaModel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAbsMetaPath )( 
            IMgaModel * This,
            /* [out][in] */ BSTR *abspath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRelMetaPath )( 
            IMgaModel * This,
            /* [in] */ IMgaFCO *begfco,
            /* [out][in] */ BSTR *relpath,
            /* [defaultvalue][in] */ IMgaFCOs *refs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfConns )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemberOfSets )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReferencedBy )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCollection )( 
            IMgaModel * This,
            /* [out][in] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootFCO )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateChildObject )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaRole *meta,
            /* [retval][out] */ IMgaFCO **newobj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeriveChildObject )( 
            IMgaModel * This,
            /* [in] */ IMgaFCO *base,
            /* [in] */ IMgaMetaRole *role,
            /* [in] */ VARIANT_BOOL instance,
            /* [retval][out] */ IMgaFCO **newobj);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildDerivedFrom )( 
            IMgaModel * This,
            /* [in] */ IMgaFCO *baseobj,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildDerivedFromDisp )( 
            IMgaModel * This,
            /* [in] */ IMgaFCO *baseobj,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AspectParts )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [in] */ unsigned int filter,
            /* [retval][out] */ IMgaParts **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAspectPartsDisp )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [in] */ unsigned int filter,
            /* [retval][out] */ IMgaParts **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateSimpleConn )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaRole *meta,
            /* [in] */ IMgaFCO *src,
            /* [in] */ IMgaFCO *dst,
            /* [in] */ IMgaFCOs *srcrefs,
            /* [in] */ IMgaFCOs *dstrefs,
            /* [retval][out] */ IMgaFCO **newobj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateReference )( 
            IMgaModel * This,
            /* [in] */ IMgaMetaRole *meta,
            /* [in] */ IMgaFCO *target,
            /* [retval][out] */ IMgaFCO **newobj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddInternalConnections )( 
            IMgaModel * This,
            /* [in] */ IMgaFCOs *inobjs,
            /* [retval][out] */ IMgaFCOs **outobjs);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MoveFCOs )( 
            IMgaModel * This,
            /* [in] */ IMgaFCOs *to_copy,
            /* [in] */ IMgaMetaRoles *destroles,
            /* [out] */ IMgaFCOs **objs);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFCOs )( 
            IMgaModel * This,
            /* [in] */ IMgaFCOs *to_move,
            /* [in] */ IMgaMetaRoles *destroles,
            /* [out] */ IMgaFCOs **objs);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChildFCOs )( 
            IMgaModel * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChildFCO )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildFCODisp )( 
            IMgaModel * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDescendantFCOs )( 
            IMgaModel * This,
            /* [in] */ IMgaFilter *filter,
            /* [retval][out] */ IMgaFCOs **returnset);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetChildrenOfKind )( 
            IMgaModel * This,
            /* [in] */ BSTR kindname,
            /* [retval][out] */ IMgaFCOs **returnset);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChildRelIDCounter )( 
            IMgaModel * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ChildRelIDCounter )( 
            IMgaModel * This,
            /* [in] */ long pVal);
        
        END_INTERFACE
    } IMgaModelVtbl;

    interface IMgaModel
    {
        CONST_VTBL struct IMgaModelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaModel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaModel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaModel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaModel_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaModel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaModel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaModel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaModel_get_Status(This,p)	\
    (This)->lpVtbl -> get_Status(This,p)

#define IMgaModel_get_IsWritable(This,p)	\
    (This)->lpVtbl -> get_IsWritable(This,p)

#define IMgaModel_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IMgaModel_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaModel_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaModel_get_AbsPath(This,pVal)	\
    (This)->lpVtbl -> get_AbsPath(This,pVal)

#define IMgaModel_get_MetaBase(This,pVal)	\
    (This)->lpVtbl -> get_MetaBase(This,pVal)

#define IMgaModel_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaModel_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaModel_get_Territory(This,pVal)	\
    (This)->lpVtbl -> get_Territory(This,pVal)

#define IMgaModel_get_IsEqual(This,o,pVal)	\
    (This)->lpVtbl -> get_IsEqual(This,o,pVal)

#define IMgaModel_GetIsEqualDisp(This,o,pVal)	\
    (This)->lpVtbl -> GetIsEqualDisp(This,o,pVal)

#define IMgaModel_GetParent(This,pVal,objtype)	\
    (This)->lpVtbl -> GetParent(This,pVal,objtype)

#define IMgaModel_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaModel_DestroyObject(This)	\
    (This)->lpVtbl -> DestroyObject(This)

#define IMgaModel_Open(This,mode)	\
    (This)->lpVtbl -> Open(This,mode)

#define IMgaModel_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaModel_Associate(This,userdata)	\
    (This)->lpVtbl -> Associate(This,userdata)

#define IMgaModel_get_CurrentAssociation(This,userdata)	\
    (This)->lpVtbl -> get_CurrentAssociation(This,userdata)

#define IMgaModel_SendEvent(This,mask)	\
    (This)->lpVtbl -> SendEvent(This,mask)

#define IMgaModel_get_RelID(This,pVal)	\
    (This)->lpVtbl -> get_RelID(This,pVal)

#define IMgaModel_put_RelID(This,newVal)	\
    (This)->lpVtbl -> put_RelID(This,newVal)

#define IMgaModel_get_IsLibObject(This,pVal)	\
    (This)->lpVtbl -> get_IsLibObject(This,pVal)

#define IMgaModel_Check(This)	\
    (This)->lpVtbl -> Check(This)

#define IMgaModel_CheckTree(This)	\
    (This)->lpVtbl -> CheckTree(This)

#define IMgaModel_put_Exempt(This,newVal)	\
    (This)->lpVtbl -> put_Exempt(This,newVal)

#define IMgaModel_get_Exempt(This,pVal)	\
    (This)->lpVtbl -> get_Exempt(This,pVal)

#define IMgaModel_get_ChildObjects(This,pVal)	\
    (This)->lpVtbl -> get_ChildObjects(This,pVal)

#define IMgaModel_get_ChildObjectByRelID(This,relid,pVal)	\
    (This)->lpVtbl -> get_ChildObjectByRelID(This,relid,pVal)

#define IMgaModel_GetChildObjectByRelIDDisp(This,relid,pVal)	\
    (This)->lpVtbl -> GetChildObjectByRelIDDisp(This,relid,pVal)

#define IMgaModel_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaModel_GetObjectByPathDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetObjectByPathDisp(This,path,pVal)

#define IMgaModel_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaModel_GetNthObjectByPathDisp(This,n_th,path,pVal)	\
    (This)->lpVtbl -> GetNthObjectByPathDisp(This,n_th,path,pVal)

#define IMgaModel_PutReadOnlyAccessWithPropagate(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccessWithPropagate(This,pReadOnly)

#define IMgaModel_PutReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccess(This,pReadOnly)

#define IMgaModel_HasReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> HasReadOnlyAccess(This,pReadOnly)

#define IMgaModel_GetGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> GetGuid(This,l1,l2,l3,l4)

#define IMgaModel_PutGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> PutGuid(This,l1,l2,l3,l4)

#define IMgaModel_GetGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> GetGuidDisp(This,guid_str)

#define IMgaModel_PutGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> PutGuidDisp(This,guid_str)


#define IMgaModel_get_Meta(This,pVal)	\
    (This)->lpVtbl -> get_Meta(This,pVal)

#define IMgaModel_get_MetaRole(This,pVal)	\
    (This)->lpVtbl -> get_MetaRole(This,pVal)

#define IMgaModel_get_ParentModel(This,pVal)	\
    (This)->lpVtbl -> get_ParentModel(This,pVal)

#define IMgaModel_get_ParentFolder(This,pVal)	\
    (This)->lpVtbl -> get_ParentFolder(This,pVal)

#define IMgaModel_get_Parts(This,pVal)	\
    (This)->lpVtbl -> get_Parts(This,pVal)

#define IMgaModel_get_Part(This,asp,pVal)	\
    (This)->lpVtbl -> get_Part(This,asp,pVal)

#define IMgaModel_GetPartDisp(This,asp,pVal)	\
    (This)->lpVtbl -> GetPartDisp(This,asp,pVal)

#define IMgaModel_get_PartByMetaPart(This,part,pVal)	\
    (This)->lpVtbl -> get_PartByMetaPart(This,part,pVal)

#define IMgaModel_GetPartByMetaPartDisp(This,part,pVal)	\
    (This)->lpVtbl -> GetPartByMetaPartDisp(This,part,pVal)

#define IMgaModel_get_Attributes(This,pVal)	\
    (This)->lpVtbl -> get_Attributes(This,pVal)

#define IMgaModel_get_Attribute(This,meta,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,meta,pVal)

#define IMgaModel_GetAttributeDisp(This,meta,pVal)	\
    (This)->lpVtbl -> GetAttributeDisp(This,meta,pVal)

#define IMgaModel_get_AttributeByName(This,name,pVal)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,pVal)

#define IMgaModel_put_AttributeByName(This,name,newval)	\
    (This)->lpVtbl -> put_AttributeByName(This,name,newval)

#define IMgaModel_GetAttributeByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,pVal)

#define IMgaModel_SetAttributeByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetAttributeByNameDisp(This,name,newval)

#define IMgaModel_get_StrAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_StrAttrByName(This,name,pVal)

#define IMgaModel_put_StrAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_StrAttrByName(This,name,newval)

#define IMgaModel_GetStrAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetStrAttrByNameDisp(This,name,pVal)

#define IMgaModel_SetStrAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetStrAttrByNameDisp(This,name,newval)

#define IMgaModel_get_IntAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_IntAttrByName(This,name,pVal)

#define IMgaModel_put_IntAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_IntAttrByName(This,name,newval)

#define IMgaModel_GetIntAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetIntAttrByNameDisp(This,name,pVal)

#define IMgaModel_SetIntAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetIntAttrByNameDisp(This,name,newval)

#define IMgaModel_get_FloatAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_FloatAttrByName(This,name,pVal)

#define IMgaModel_put_FloatAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_FloatAttrByName(This,name,newval)

#define IMgaModel_GetFloatAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetFloatAttrByNameDisp(This,name,pVal)

#define IMgaModel_SetFloatAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetFloatAttrByNameDisp(This,name,newval)

#define IMgaModel_get_BoolAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_BoolAttrByName(This,name,pVal)

#define IMgaModel_put_BoolAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_BoolAttrByName(This,name,newval)

#define IMgaModel_GetBoolAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetBoolAttrByNameDisp(This,name,pVal)

#define IMgaModel_SetBoolAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetBoolAttrByNameDisp(This,name,newval)

#define IMgaModel_get_RefAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_RefAttrByName(This,name,pVal)

#define IMgaModel_put_RefAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_RefAttrByName(This,name,newval)

#define IMgaModel_GetRefAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetRefAttrByNameDisp(This,name,pVal)

#define IMgaModel_SetRefAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetRefAttrByNameDisp(This,name,newval)

#define IMgaModel_ClearAttrByName(This,name)	\
    (This)->lpVtbl -> ClearAttrByName(This,name)

#define IMgaModel_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaModel_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaModel_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaModel_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaModel_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaModel_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaModel_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaModel_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaModel_get_Constraints(This,includemeta,pVal)	\
    (This)->lpVtbl -> get_Constraints(This,includemeta,pVal)

#define IMgaModel_GetConstraintsDisp(This,includemeta,pVal)	\
    (This)->lpVtbl -> GetConstraintsDisp(This,includemeta,pVal)

#define IMgaModel_AddConstraint(This,constraint)	\
    (This)->lpVtbl -> AddConstraint(This,constraint)

#define IMgaModel_DefineConstraint(This,name,mask,expr,nconstraint)	\
    (This)->lpVtbl -> DefineConstraint(This,name,mask,expr,nconstraint)

#define IMgaModel_get_DerivedFrom(This,pVal)	\
    (This)->lpVtbl -> get_DerivedFrom(This,pVal)

#define IMgaModel_get_DerivedObjects(This,pVal)	\
    (This)->lpVtbl -> get_DerivedObjects(This,pVal)

#define IMgaModel_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IMgaModel_get_BaseType(This,pVal)	\
    (This)->lpVtbl -> get_BaseType(This,pVal)

#define IMgaModel_get_ArcheType(This,pVal)	\
    (This)->lpVtbl -> get_ArcheType(This,pVal)

#define IMgaModel_get_IsInstance(This,pVal)	\
    (This)->lpVtbl -> get_IsInstance(This,pVal)

#define IMgaModel_get_IsPrimaryDerived(This,pVal)	\
    (This)->lpVtbl -> get_IsPrimaryDerived(This,pVal)

#define IMgaModel_AttachToArcheType(This,newtype,instance)	\
    (This)->lpVtbl -> AttachToArcheType(This,newtype,instance)

#define IMgaModel_DetachFromArcheType(This)	\
    (This)->lpVtbl -> DetachFromArcheType(This)

#define IMgaModel_GetAbsMetaPath(This,abspath)	\
    (This)->lpVtbl -> GetAbsMetaPath(This,abspath)

#define IMgaModel_GetRelMetaPath(This,begfco,relpath,refs)	\
    (This)->lpVtbl -> GetRelMetaPath(This,begfco,relpath,refs)

#define IMgaModel_get_PartOfConns(This,pVal)	\
    (This)->lpVtbl -> get_PartOfConns(This,pVal)

#define IMgaModel_get_MemberOfSets(This,pVal)	\
    (This)->lpVtbl -> get_MemberOfSets(This,pVal)

#define IMgaModel_get_ReferencedBy(This,pVal)	\
    (This)->lpVtbl -> get_ReferencedBy(This,pVal)

#define IMgaModel_CreateCollection(This,pVal)	\
    (This)->lpVtbl -> CreateCollection(This,pVal)

#define IMgaModel_get_RootFCO(This,pVal)	\
    (This)->lpVtbl -> get_RootFCO(This,pVal)


#define IMgaModel_CreateChildObject(This,meta,newobj)	\
    (This)->lpVtbl -> CreateChildObject(This,meta,newobj)

#define IMgaModel_DeriveChildObject(This,base,role,instance,newobj)	\
    (This)->lpVtbl -> DeriveChildObject(This,base,role,instance,newobj)

#define IMgaModel_get_ChildDerivedFrom(This,baseobj,pVal)	\
    (This)->lpVtbl -> get_ChildDerivedFrom(This,baseobj,pVal)

#define IMgaModel_GetChildDerivedFromDisp(This,baseobj,pVal)	\
    (This)->lpVtbl -> GetChildDerivedFromDisp(This,baseobj,pVal)

#define IMgaModel_get_AspectParts(This,asp,filter,pVal)	\
    (This)->lpVtbl -> get_AspectParts(This,asp,filter,pVal)

#define IMgaModel_GetAspectPartsDisp(This,asp,filter,pVal)	\
    (This)->lpVtbl -> GetAspectPartsDisp(This,asp,filter,pVal)

#define IMgaModel_CreateSimpleConn(This,meta,src,dst,srcrefs,dstrefs,newobj)	\
    (This)->lpVtbl -> CreateSimpleConn(This,meta,src,dst,srcrefs,dstrefs,newobj)

#define IMgaModel_CreateReference(This,meta,target,newobj)	\
    (This)->lpVtbl -> CreateReference(This,meta,target,newobj)

#define IMgaModel_AddInternalConnections(This,inobjs,outobjs)	\
    (This)->lpVtbl -> AddInternalConnections(This,inobjs,outobjs)

#define IMgaModel_MoveFCOs(This,to_copy,destroles,objs)	\
    (This)->lpVtbl -> MoveFCOs(This,to_copy,destroles,objs)

#define IMgaModel_CopyFCOs(This,to_move,destroles,objs)	\
    (This)->lpVtbl -> CopyFCOs(This,to_move,destroles,objs)

#define IMgaModel_get_ChildFCOs(This,pVal)	\
    (This)->lpVtbl -> get_ChildFCOs(This,pVal)

#define IMgaModel_get_ChildFCO(This,name,pVal)	\
    (This)->lpVtbl -> get_ChildFCO(This,name,pVal)

#define IMgaModel_GetChildFCODisp(This,name,pVal)	\
    (This)->lpVtbl -> GetChildFCODisp(This,name,pVal)

#define IMgaModel_GetDescendantFCOs(This,filter,returnset)	\
    (This)->lpVtbl -> GetDescendantFCOs(This,filter,returnset)

#define IMgaModel_GetChildrenOfKind(This,kindname,returnset)	\
    (This)->lpVtbl -> GetChildrenOfKind(This,kindname,returnset)

#define IMgaModel_get_ChildRelIDCounter(This,pVal)	\
    (This)->lpVtbl -> get_ChildRelIDCounter(This,pVal)

#define IMgaModel_put_ChildRelIDCounter(This,pVal)	\
    (This)->lpVtbl -> put_ChildRelIDCounter(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaModel_CreateChildObject_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaMetaRole *meta,
    /* [retval][out] */ IMgaFCO **newobj);


void __RPC_STUB IMgaModel_CreateChildObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaModel_DeriveChildObject_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaFCO *base,
    /* [in] */ IMgaMetaRole *role,
    /* [in] */ VARIANT_BOOL instance,
    /* [retval][out] */ IMgaFCO **newobj);


void __RPC_STUB IMgaModel_DeriveChildObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaModel_get_ChildDerivedFrom_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaFCO *baseobj,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaModel_get_ChildDerivedFrom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaModel_GetChildDerivedFromDisp_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaFCO *baseobj,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaModel_GetChildDerivedFromDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaModel_get_AspectParts_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaMetaAspect *asp,
    /* [in] */ unsigned int filter,
    /* [retval][out] */ IMgaParts **pVal);


void __RPC_STUB IMgaModel_get_AspectParts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaModel_GetAspectPartsDisp_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaMetaAspect *asp,
    /* [in] */ unsigned int filter,
    /* [retval][out] */ IMgaParts **pVal);


void __RPC_STUB IMgaModel_GetAspectPartsDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaModel_CreateSimpleConn_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaMetaRole *meta,
    /* [in] */ IMgaFCO *src,
    /* [in] */ IMgaFCO *dst,
    /* [in] */ IMgaFCOs *srcrefs,
    /* [in] */ IMgaFCOs *dstrefs,
    /* [retval][out] */ IMgaFCO **newobj);


void __RPC_STUB IMgaModel_CreateSimpleConn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaModel_CreateReference_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaMetaRole *meta,
    /* [in] */ IMgaFCO *target,
    /* [retval][out] */ IMgaFCO **newobj);


void __RPC_STUB IMgaModel_CreateReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaModel_AddInternalConnections_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaFCOs *inobjs,
    /* [retval][out] */ IMgaFCOs **outobjs);


void __RPC_STUB IMgaModel_AddInternalConnections_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaModel_MoveFCOs_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaFCOs *to_copy,
    /* [in] */ IMgaMetaRoles *destroles,
    /* [out] */ IMgaFCOs **objs);


void __RPC_STUB IMgaModel_MoveFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaModel_CopyFCOs_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaFCOs *to_move,
    /* [in] */ IMgaMetaRoles *destroles,
    /* [out] */ IMgaFCOs **objs);


void __RPC_STUB IMgaModel_CopyFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaModel_get_ChildFCOs_Proxy( 
    IMgaModel * This,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaModel_get_ChildFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaModel_get_ChildFCO_Proxy( 
    IMgaModel * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaModel_get_ChildFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaModel_GetChildFCODisp_Proxy( 
    IMgaModel * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaModel_GetChildFCODisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaModel_GetDescendantFCOs_Proxy( 
    IMgaModel * This,
    /* [in] */ IMgaFilter *filter,
    /* [retval][out] */ IMgaFCOs **returnset);


void __RPC_STUB IMgaModel_GetDescendantFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaModel_GetChildrenOfKind_Proxy( 
    IMgaModel * This,
    /* [in] */ BSTR kindname,
    /* [retval][out] */ IMgaFCOs **returnset);


void __RPC_STUB IMgaModel_GetChildrenOfKind_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMgaModel_get_ChildRelIDCounter_Proxy( 
    IMgaModel * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB IMgaModel_get_ChildRelIDCounter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IMgaModel_put_ChildRelIDCounter_Proxy( 
    IMgaModel * This,
    /* [in] */ long pVal);


void __RPC_STUB IMgaModel_put_ChildRelIDCounter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaModel_INTERFACE_DEFINED__ */


#ifndef __IMgaAtom_INTERFACE_DEFINED__
#define __IMgaAtom_INTERFACE_DEFINED__

/* interface IMgaAtom */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaAtom;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("270B4F9C-B17C-11D3-9AD1-00AA00B6FE26")
    IMgaAtom : public IMgaFCO
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IMgaAtomVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaAtom * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaAtom * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaAtom * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaAtom * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaAtom * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaAtom * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaAtom * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaAtom * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWritable )( 
            IMgaAtom * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            IMgaAtom * This,
            /* [retval][out] */ ID_type *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaAtom * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaAtom * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsPath )( 
            IMgaAtom * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaBase )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaAtom * This,
            /* [retval][out] */ objtype_enum *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territory )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaTerritory **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEqual )( 
            IMgaAtom * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsEqualDisp )( 
            IMgaAtom * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IMgaAtom * This,
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaAtom * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObject )( 
            IMgaAtom * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaAtom * This,
            /* [defaultvalue][in] */ openmode mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaAtom * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaAtom * This,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAssociation )( 
            IMgaAtom * This,
            /* [retval][out] */ VARIANT *userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendEvent )( 
            IMgaAtom * This,
            /* [in] */ long mask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelID )( 
            IMgaAtom * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelID )( 
            IMgaAtom * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLibObject )( 
            IMgaAtom * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Check )( 
            IMgaAtom * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTree )( 
            IMgaAtom * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Exempt )( 
            IMgaAtom * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exempt )( 
            IMgaAtom * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjects )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaObjects **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjectByRelID )( 
            IMgaAtom * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildObjectByRelIDDisp )( 
            IMgaAtom * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByPathDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaAtom * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNthObjectByPathDisp )( 
            IMgaAtom * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccessWithPropagate )( 
            IMgaAtom * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccess )( 
            IMgaAtom * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasReadOnlyAccess )( 
            IMgaAtom * This,
            /* [retval][out] */ VARIANT_BOOL *pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuid )( 
            IMgaAtom * This,
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuid )( 
            IMgaAtom * This,
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuidDisp )( 
            IMgaAtom * This,
            /* [retval][out] */ BSTR *guid_str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuidDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR guid_str);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Meta )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaMetaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRole )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaMetaRole **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentModel )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaModel **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentFolder )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parts )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaParts **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Part )( 
            IMgaAtom * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartDisp )( 
            IMgaAtom * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartByMetaPart )( 
            IMgaAtom * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartByMetaPartDisp )( 
            IMgaAtom * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaAttributes **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attribute )( 
            IMgaAtom * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeDisp )( 
            IMgaAtom * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AttributeByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttributeByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StrAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StrAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStrAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIntAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIntAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloatAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FloatAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFloatAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFloatAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoolAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoolAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoolAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBoolAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RefAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRefAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRefAttrByNameDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearAttrByName )( 
            IMgaAtom * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaAtom * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaAtom * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaAtom * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaAtom * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaAtom * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConstraintsDisp )( 
            IMgaAtom * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddConstraint )( 
            IMgaAtom * This,
            /* [in] */ IMgaConstraint *constraint);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DefineConstraint )( 
            IMgaAtom * This,
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedFrom )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedObjects )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseType )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcheType )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstance )( 
            IMgaAtom * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimaryDerived )( 
            IMgaAtom * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToArcheType )( 
            IMgaAtom * This,
            /* [in] */ IMgaFCO *newtype,
            /* [in] */ VARIANT_BOOL instance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachFromArcheType )( 
            IMgaAtom * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAbsMetaPath )( 
            IMgaAtom * This,
            /* [out][in] */ BSTR *abspath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRelMetaPath )( 
            IMgaAtom * This,
            /* [in] */ IMgaFCO *begfco,
            /* [out][in] */ BSTR *relpath,
            /* [defaultvalue][in] */ IMgaFCOs *refs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfConns )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemberOfSets )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReferencedBy )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCollection )( 
            IMgaAtom * This,
            /* [out][in] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootFCO )( 
            IMgaAtom * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        END_INTERFACE
    } IMgaAtomVtbl;

    interface IMgaAtom
    {
        CONST_VTBL struct IMgaAtomVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaAtom_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaAtom_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaAtom_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaAtom_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaAtom_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaAtom_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaAtom_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaAtom_get_Status(This,p)	\
    (This)->lpVtbl -> get_Status(This,p)

#define IMgaAtom_get_IsWritable(This,p)	\
    (This)->lpVtbl -> get_IsWritable(This,p)

#define IMgaAtom_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IMgaAtom_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaAtom_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaAtom_get_AbsPath(This,pVal)	\
    (This)->lpVtbl -> get_AbsPath(This,pVal)

#define IMgaAtom_get_MetaBase(This,pVal)	\
    (This)->lpVtbl -> get_MetaBase(This,pVal)

#define IMgaAtom_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaAtom_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaAtom_get_Territory(This,pVal)	\
    (This)->lpVtbl -> get_Territory(This,pVal)

#define IMgaAtom_get_IsEqual(This,o,pVal)	\
    (This)->lpVtbl -> get_IsEqual(This,o,pVal)

#define IMgaAtom_GetIsEqualDisp(This,o,pVal)	\
    (This)->lpVtbl -> GetIsEqualDisp(This,o,pVal)

#define IMgaAtom_GetParent(This,pVal,objtype)	\
    (This)->lpVtbl -> GetParent(This,pVal,objtype)

#define IMgaAtom_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaAtom_DestroyObject(This)	\
    (This)->lpVtbl -> DestroyObject(This)

#define IMgaAtom_Open(This,mode)	\
    (This)->lpVtbl -> Open(This,mode)

#define IMgaAtom_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaAtom_Associate(This,userdata)	\
    (This)->lpVtbl -> Associate(This,userdata)

#define IMgaAtom_get_CurrentAssociation(This,userdata)	\
    (This)->lpVtbl -> get_CurrentAssociation(This,userdata)

#define IMgaAtom_SendEvent(This,mask)	\
    (This)->lpVtbl -> SendEvent(This,mask)

#define IMgaAtom_get_RelID(This,pVal)	\
    (This)->lpVtbl -> get_RelID(This,pVal)

#define IMgaAtom_put_RelID(This,newVal)	\
    (This)->lpVtbl -> put_RelID(This,newVal)

#define IMgaAtom_get_IsLibObject(This,pVal)	\
    (This)->lpVtbl -> get_IsLibObject(This,pVal)

#define IMgaAtom_Check(This)	\
    (This)->lpVtbl -> Check(This)

#define IMgaAtom_CheckTree(This)	\
    (This)->lpVtbl -> CheckTree(This)

#define IMgaAtom_put_Exempt(This,newVal)	\
    (This)->lpVtbl -> put_Exempt(This,newVal)

#define IMgaAtom_get_Exempt(This,pVal)	\
    (This)->lpVtbl -> get_Exempt(This,pVal)

#define IMgaAtom_get_ChildObjects(This,pVal)	\
    (This)->lpVtbl -> get_ChildObjects(This,pVal)

#define IMgaAtom_get_ChildObjectByRelID(This,relid,pVal)	\
    (This)->lpVtbl -> get_ChildObjectByRelID(This,relid,pVal)

#define IMgaAtom_GetChildObjectByRelIDDisp(This,relid,pVal)	\
    (This)->lpVtbl -> GetChildObjectByRelIDDisp(This,relid,pVal)

#define IMgaAtom_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaAtom_GetObjectByPathDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetObjectByPathDisp(This,path,pVal)

#define IMgaAtom_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaAtom_GetNthObjectByPathDisp(This,n_th,path,pVal)	\
    (This)->lpVtbl -> GetNthObjectByPathDisp(This,n_th,path,pVal)

#define IMgaAtom_PutReadOnlyAccessWithPropagate(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccessWithPropagate(This,pReadOnly)

#define IMgaAtom_PutReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccess(This,pReadOnly)

#define IMgaAtom_HasReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> HasReadOnlyAccess(This,pReadOnly)

#define IMgaAtom_GetGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> GetGuid(This,l1,l2,l3,l4)

#define IMgaAtom_PutGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> PutGuid(This,l1,l2,l3,l4)

#define IMgaAtom_GetGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> GetGuidDisp(This,guid_str)

#define IMgaAtom_PutGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> PutGuidDisp(This,guid_str)


#define IMgaAtom_get_Meta(This,pVal)	\
    (This)->lpVtbl -> get_Meta(This,pVal)

#define IMgaAtom_get_MetaRole(This,pVal)	\
    (This)->lpVtbl -> get_MetaRole(This,pVal)

#define IMgaAtom_get_ParentModel(This,pVal)	\
    (This)->lpVtbl -> get_ParentModel(This,pVal)

#define IMgaAtom_get_ParentFolder(This,pVal)	\
    (This)->lpVtbl -> get_ParentFolder(This,pVal)

#define IMgaAtom_get_Parts(This,pVal)	\
    (This)->lpVtbl -> get_Parts(This,pVal)

#define IMgaAtom_get_Part(This,asp,pVal)	\
    (This)->lpVtbl -> get_Part(This,asp,pVal)

#define IMgaAtom_GetPartDisp(This,asp,pVal)	\
    (This)->lpVtbl -> GetPartDisp(This,asp,pVal)

#define IMgaAtom_get_PartByMetaPart(This,part,pVal)	\
    (This)->lpVtbl -> get_PartByMetaPart(This,part,pVal)

#define IMgaAtom_GetPartByMetaPartDisp(This,part,pVal)	\
    (This)->lpVtbl -> GetPartByMetaPartDisp(This,part,pVal)

#define IMgaAtom_get_Attributes(This,pVal)	\
    (This)->lpVtbl -> get_Attributes(This,pVal)

#define IMgaAtom_get_Attribute(This,meta,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,meta,pVal)

#define IMgaAtom_GetAttributeDisp(This,meta,pVal)	\
    (This)->lpVtbl -> GetAttributeDisp(This,meta,pVal)

#define IMgaAtom_get_AttributeByName(This,name,pVal)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,pVal)

#define IMgaAtom_put_AttributeByName(This,name,newval)	\
    (This)->lpVtbl -> put_AttributeByName(This,name,newval)

#define IMgaAtom_GetAttributeByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,pVal)

#define IMgaAtom_SetAttributeByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetAttributeByNameDisp(This,name,newval)

#define IMgaAtom_get_StrAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_StrAttrByName(This,name,pVal)

#define IMgaAtom_put_StrAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_StrAttrByName(This,name,newval)

#define IMgaAtom_GetStrAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetStrAttrByNameDisp(This,name,pVal)

#define IMgaAtom_SetStrAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetStrAttrByNameDisp(This,name,newval)

#define IMgaAtom_get_IntAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_IntAttrByName(This,name,pVal)

#define IMgaAtom_put_IntAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_IntAttrByName(This,name,newval)

#define IMgaAtom_GetIntAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetIntAttrByNameDisp(This,name,pVal)

#define IMgaAtom_SetIntAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetIntAttrByNameDisp(This,name,newval)

#define IMgaAtom_get_FloatAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_FloatAttrByName(This,name,pVal)

#define IMgaAtom_put_FloatAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_FloatAttrByName(This,name,newval)

#define IMgaAtom_GetFloatAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetFloatAttrByNameDisp(This,name,pVal)

#define IMgaAtom_SetFloatAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetFloatAttrByNameDisp(This,name,newval)

#define IMgaAtom_get_BoolAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_BoolAttrByName(This,name,pVal)

#define IMgaAtom_put_BoolAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_BoolAttrByName(This,name,newval)

#define IMgaAtom_GetBoolAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetBoolAttrByNameDisp(This,name,pVal)

#define IMgaAtom_SetBoolAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetBoolAttrByNameDisp(This,name,newval)

#define IMgaAtom_get_RefAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_RefAttrByName(This,name,pVal)

#define IMgaAtom_put_RefAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_RefAttrByName(This,name,newval)

#define IMgaAtom_GetRefAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetRefAttrByNameDisp(This,name,pVal)

#define IMgaAtom_SetRefAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetRefAttrByNameDisp(This,name,newval)

#define IMgaAtom_ClearAttrByName(This,name)	\
    (This)->lpVtbl -> ClearAttrByName(This,name)

#define IMgaAtom_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaAtom_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaAtom_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaAtom_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaAtom_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaAtom_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaAtom_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaAtom_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaAtom_get_Constraints(This,includemeta,pVal)	\
    (This)->lpVtbl -> get_Constraints(This,includemeta,pVal)

#define IMgaAtom_GetConstraintsDisp(This,includemeta,pVal)	\
    (This)->lpVtbl -> GetConstraintsDisp(This,includemeta,pVal)

#define IMgaAtom_AddConstraint(This,constraint)	\
    (This)->lpVtbl -> AddConstraint(This,constraint)

#define IMgaAtom_DefineConstraint(This,name,mask,expr,nconstraint)	\
    (This)->lpVtbl -> DefineConstraint(This,name,mask,expr,nconstraint)

#define IMgaAtom_get_DerivedFrom(This,pVal)	\
    (This)->lpVtbl -> get_DerivedFrom(This,pVal)

#define IMgaAtom_get_DerivedObjects(This,pVal)	\
    (This)->lpVtbl -> get_DerivedObjects(This,pVal)

#define IMgaAtom_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IMgaAtom_get_BaseType(This,pVal)	\
    (This)->lpVtbl -> get_BaseType(This,pVal)

#define IMgaAtom_get_ArcheType(This,pVal)	\
    (This)->lpVtbl -> get_ArcheType(This,pVal)

#define IMgaAtom_get_IsInstance(This,pVal)	\
    (This)->lpVtbl -> get_IsInstance(This,pVal)

#define IMgaAtom_get_IsPrimaryDerived(This,pVal)	\
    (This)->lpVtbl -> get_IsPrimaryDerived(This,pVal)

#define IMgaAtom_AttachToArcheType(This,newtype,instance)	\
    (This)->lpVtbl -> AttachToArcheType(This,newtype,instance)

#define IMgaAtom_DetachFromArcheType(This)	\
    (This)->lpVtbl -> DetachFromArcheType(This)

#define IMgaAtom_GetAbsMetaPath(This,abspath)	\
    (This)->lpVtbl -> GetAbsMetaPath(This,abspath)

#define IMgaAtom_GetRelMetaPath(This,begfco,relpath,refs)	\
    (This)->lpVtbl -> GetRelMetaPath(This,begfco,relpath,refs)

#define IMgaAtom_get_PartOfConns(This,pVal)	\
    (This)->lpVtbl -> get_PartOfConns(This,pVal)

#define IMgaAtom_get_MemberOfSets(This,pVal)	\
    (This)->lpVtbl -> get_MemberOfSets(This,pVal)

#define IMgaAtom_get_ReferencedBy(This,pVal)	\
    (This)->lpVtbl -> get_ReferencedBy(This,pVal)

#define IMgaAtom_CreateCollection(This,pVal)	\
    (This)->lpVtbl -> CreateCollection(This,pVal)

#define IMgaAtom_get_RootFCO(This,pVal)	\
    (This)->lpVtbl -> get_RootFCO(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMgaAtom_INTERFACE_DEFINED__ */


#ifndef __IMgaPart_INTERFACE_DEFINED__
#define __IMgaPart_INTERFACE_DEFINED__

/* interface IMgaPart */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaPart;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("270B4F9E-B17C-11D3-9AD1-00AA00B6FE26")
    IMgaPart : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Model( 
            /* [retval][out] */ IMgaModel **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Meta( 
            /* [retval][out] */ IMgaMetaPart **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaAspect( 
            /* [retval][out] */ IMgaMetaAspect **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MetaRole( 
            /* [retval][out] */ IMgaMetaRole **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FCO( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AccessMask( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryMode( 
            /* [retval][out] */ VARIANT_BOOL *own) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RegistryMode( 
            /* [in] */ VARIANT_BOOL own) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryNode( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryNodeDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Registry( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryDisp( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryValue( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RegistryValue( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGmeAttrs( 
            /* [out] */ BSTR *Icon,
            /* [out] */ long *xpos,
            /* [out] */ long *ypos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGmeAttrs( 
            /* [in] */ BSTR Icon,
            /* [in] */ long xpos,
            /* [in] */ long ypos) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaPartVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaPart * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaPart * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaPart * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaPart * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaPart * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaPart * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaPart * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Model )( 
            IMgaPart * This,
            /* [retval][out] */ IMgaModel **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Meta )( 
            IMgaPart * This,
            /* [retval][out] */ IMgaMetaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaAspect )( 
            IMgaPart * This,
            /* [retval][out] */ IMgaMetaAspect **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRole )( 
            IMgaPart * This,
            /* [retval][out] */ IMgaMetaRole **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FCO )( 
            IMgaPart * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AccessMask )( 
            IMgaPart * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryMode )( 
            IMgaPart * This,
            /* [retval][out] */ VARIANT_BOOL *own);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryMode )( 
            IMgaPart * This,
            /* [in] */ VARIANT_BOOL own);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaPart * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaPart * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaPart * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaPart * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaPart * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaPart * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaPart * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaPart * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGmeAttrs )( 
            IMgaPart * This,
            /* [out] */ BSTR *Icon,
            /* [out] */ long *xpos,
            /* [out] */ long *ypos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetGmeAttrs )( 
            IMgaPart * This,
            /* [in] */ BSTR Icon,
            /* [in] */ long xpos,
            /* [in] */ long ypos);
        
        END_INTERFACE
    } IMgaPartVtbl;

    interface IMgaPart
    {
        CONST_VTBL struct IMgaPartVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaPart_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaPart_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaPart_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaPart_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaPart_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaPart_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaPart_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaPart_get_Model(This,pVal)	\
    (This)->lpVtbl -> get_Model(This,pVal)

#define IMgaPart_get_Meta(This,pVal)	\
    (This)->lpVtbl -> get_Meta(This,pVal)

#define IMgaPart_get_MetaAspect(This,pVal)	\
    (This)->lpVtbl -> get_MetaAspect(This,pVal)

#define IMgaPart_get_MetaRole(This,pVal)	\
    (This)->lpVtbl -> get_MetaRole(This,pVal)

#define IMgaPart_get_FCO(This,pVal)	\
    (This)->lpVtbl -> get_FCO(This,pVal)

#define IMgaPart_get_AccessMask(This,pVal)	\
    (This)->lpVtbl -> get_AccessMask(This,pVal)

#define IMgaPart_get_RegistryMode(This,own)	\
    (This)->lpVtbl -> get_RegistryMode(This,own)

#define IMgaPart_put_RegistryMode(This,own)	\
    (This)->lpVtbl -> put_RegistryMode(This,own)

#define IMgaPart_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaPart_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaPart_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaPart_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaPart_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaPart_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaPart_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaPart_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaPart_GetGmeAttrs(This,Icon,xpos,ypos)	\
    (This)->lpVtbl -> GetGmeAttrs(This,Icon,xpos,ypos)

#define IMgaPart_SetGmeAttrs(This,Icon,xpos,ypos)	\
    (This)->lpVtbl -> SetGmeAttrs(This,Icon,xpos,ypos)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_Model_Proxy( 
    IMgaPart * This,
    /* [retval][out] */ IMgaModel **pVal);


void __RPC_STUB IMgaPart_get_Model_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_Meta_Proxy( 
    IMgaPart * This,
    /* [retval][out] */ IMgaMetaPart **pVal);


void __RPC_STUB IMgaPart_get_Meta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_MetaAspect_Proxy( 
    IMgaPart * This,
    /* [retval][out] */ IMgaMetaAspect **pVal);


void __RPC_STUB IMgaPart_get_MetaAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_MetaRole_Proxy( 
    IMgaPart * This,
    /* [retval][out] */ IMgaMetaRole **pVal);


void __RPC_STUB IMgaPart_get_MetaRole_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_FCO_Proxy( 
    IMgaPart * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaPart_get_FCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_AccessMask_Proxy( 
    IMgaPart * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB IMgaPart_get_AccessMask_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_RegistryMode_Proxy( 
    IMgaPart * This,
    /* [retval][out] */ VARIANT_BOOL *own);


void __RPC_STUB IMgaPart_get_RegistryMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaPart_put_RegistryMode_Proxy( 
    IMgaPart * This,
    /* [in] */ VARIANT_BOOL own);


void __RPC_STUB IMgaPart_put_RegistryMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_RegistryNode_Proxy( 
    IMgaPart * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaPart_get_RegistryNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaPart_GetRegistryNodeDisp_Proxy( 
    IMgaPart * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaPart_GetRegistryNodeDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_Registry_Proxy( 
    IMgaPart * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **pVal);


void __RPC_STUB IMgaPart_get_Registry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaPart_GetRegistryDisp_Proxy( 
    IMgaPart * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **pVal);


void __RPC_STUB IMgaPart_GetRegistryDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaPart_get_RegistryValue_Proxy( 
    IMgaPart * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaPart_get_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaPart_put_RegistryValue_Proxy( 
    IMgaPart * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaPart_put_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaPart_GetRegistryValueDisp_Proxy( 
    IMgaPart * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaPart_GetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaPart_SetRegistryValueDisp_Proxy( 
    IMgaPart * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaPart_SetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaPart_GetGmeAttrs_Proxy( 
    IMgaPart * This,
    /* [out] */ BSTR *Icon,
    /* [out] */ long *xpos,
    /* [out] */ long *ypos);


void __RPC_STUB IMgaPart_GetGmeAttrs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaPart_SetGmeAttrs_Proxy( 
    IMgaPart * This,
    /* [in] */ BSTR Icon,
    /* [in] */ long xpos,
    /* [in] */ long ypos);


void __RPC_STUB IMgaPart_SetGmeAttrs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaPart_INTERFACE_DEFINED__ */


#ifndef __IMgaReference_INTERFACE_DEFINED__
#define __IMgaReference_INTERFACE_DEFINED__

/* interface IMgaReference */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaReference;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3233-B758-11D3-ABAE-000000000000")
    IMgaReference : public IMgaFCO
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Referred( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Referred( 
            /* [in] */ IMgaFCO *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RefAspect( 
            /* [retval][out] */ IMgaMetaAspect **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RefAspect( 
            /* [in] */ IMgaMetaAspect *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UsedByConns( 
            /* [retval][out] */ IMgaConnPoints **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CompareToBase( 
            /* [out] */ short *status) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RevertToBase( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaReferenceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaReference * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaReference * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaReference * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaReference * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaReference * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaReference * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaReference * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaReference * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWritable )( 
            IMgaReference * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            IMgaReference * This,
            /* [retval][out] */ ID_type *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaReference * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaReference * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsPath )( 
            IMgaReference * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaBase )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaReference * This,
            /* [retval][out] */ objtype_enum *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territory )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaTerritory **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEqual )( 
            IMgaReference * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsEqualDisp )( 
            IMgaReference * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IMgaReference * This,
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaReference * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObject )( 
            IMgaReference * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaReference * This,
            /* [defaultvalue][in] */ openmode mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaReference * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaReference * This,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAssociation )( 
            IMgaReference * This,
            /* [retval][out] */ VARIANT *userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendEvent )( 
            IMgaReference * This,
            /* [in] */ long mask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelID )( 
            IMgaReference * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelID )( 
            IMgaReference * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLibObject )( 
            IMgaReference * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Check )( 
            IMgaReference * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTree )( 
            IMgaReference * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Exempt )( 
            IMgaReference * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exempt )( 
            IMgaReference * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjects )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaObjects **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjectByRelID )( 
            IMgaReference * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildObjectByRelIDDisp )( 
            IMgaReference * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByPathDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaReference * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNthObjectByPathDisp )( 
            IMgaReference * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccessWithPropagate )( 
            IMgaReference * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccess )( 
            IMgaReference * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasReadOnlyAccess )( 
            IMgaReference * This,
            /* [retval][out] */ VARIANT_BOOL *pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuid )( 
            IMgaReference * This,
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuid )( 
            IMgaReference * This,
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuidDisp )( 
            IMgaReference * This,
            /* [retval][out] */ BSTR *guid_str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuidDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR guid_str);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Meta )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaMetaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRole )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaMetaRole **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentModel )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaModel **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentFolder )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parts )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaParts **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Part )( 
            IMgaReference * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartDisp )( 
            IMgaReference * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartByMetaPart )( 
            IMgaReference * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartByMetaPartDisp )( 
            IMgaReference * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaAttributes **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attribute )( 
            IMgaReference * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeDisp )( 
            IMgaReference * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AttributeByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttributeByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StrAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StrAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStrAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIntAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIntAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloatAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FloatAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFloatAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFloatAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoolAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoolAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoolAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBoolAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RefAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRefAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRefAttrByNameDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearAttrByName )( 
            IMgaReference * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaReference * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaReference * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaReference * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaReference * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaReference * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConstraintsDisp )( 
            IMgaReference * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddConstraint )( 
            IMgaReference * This,
            /* [in] */ IMgaConstraint *constraint);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DefineConstraint )( 
            IMgaReference * This,
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedFrom )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedObjects )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseType )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcheType )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstance )( 
            IMgaReference * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimaryDerived )( 
            IMgaReference * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToArcheType )( 
            IMgaReference * This,
            /* [in] */ IMgaFCO *newtype,
            /* [in] */ VARIANT_BOOL instance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachFromArcheType )( 
            IMgaReference * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAbsMetaPath )( 
            IMgaReference * This,
            /* [out][in] */ BSTR *abspath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRelMetaPath )( 
            IMgaReference * This,
            /* [in] */ IMgaFCO *begfco,
            /* [out][in] */ BSTR *relpath,
            /* [defaultvalue][in] */ IMgaFCOs *refs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfConns )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemberOfSets )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReferencedBy )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCollection )( 
            IMgaReference * This,
            /* [out][in] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootFCO )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Referred )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Referred )( 
            IMgaReference * This,
            /* [in] */ IMgaFCO *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefAspect )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaMetaAspect **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RefAspect )( 
            IMgaReference * This,
            /* [in] */ IMgaMetaAspect *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsedByConns )( 
            IMgaReference * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CompareToBase )( 
            IMgaReference * This,
            /* [out] */ short *status);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RevertToBase )( 
            IMgaReference * This);
        
        END_INTERFACE
    } IMgaReferenceVtbl;

    interface IMgaReference
    {
        CONST_VTBL struct IMgaReferenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaReference_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaReference_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaReference_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaReference_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaReference_get_Status(This,p)	\
    (This)->lpVtbl -> get_Status(This,p)

#define IMgaReference_get_IsWritable(This,p)	\
    (This)->lpVtbl -> get_IsWritable(This,p)

#define IMgaReference_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IMgaReference_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaReference_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaReference_get_AbsPath(This,pVal)	\
    (This)->lpVtbl -> get_AbsPath(This,pVal)

#define IMgaReference_get_MetaBase(This,pVal)	\
    (This)->lpVtbl -> get_MetaBase(This,pVal)

#define IMgaReference_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaReference_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaReference_get_Territory(This,pVal)	\
    (This)->lpVtbl -> get_Territory(This,pVal)

#define IMgaReference_get_IsEqual(This,o,pVal)	\
    (This)->lpVtbl -> get_IsEqual(This,o,pVal)

#define IMgaReference_GetIsEqualDisp(This,o,pVal)	\
    (This)->lpVtbl -> GetIsEqualDisp(This,o,pVal)

#define IMgaReference_GetParent(This,pVal,objtype)	\
    (This)->lpVtbl -> GetParent(This,pVal,objtype)

#define IMgaReference_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaReference_DestroyObject(This)	\
    (This)->lpVtbl -> DestroyObject(This)

#define IMgaReference_Open(This,mode)	\
    (This)->lpVtbl -> Open(This,mode)

#define IMgaReference_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaReference_Associate(This,userdata)	\
    (This)->lpVtbl -> Associate(This,userdata)

#define IMgaReference_get_CurrentAssociation(This,userdata)	\
    (This)->lpVtbl -> get_CurrentAssociation(This,userdata)

#define IMgaReference_SendEvent(This,mask)	\
    (This)->lpVtbl -> SendEvent(This,mask)

#define IMgaReference_get_RelID(This,pVal)	\
    (This)->lpVtbl -> get_RelID(This,pVal)

#define IMgaReference_put_RelID(This,newVal)	\
    (This)->lpVtbl -> put_RelID(This,newVal)

#define IMgaReference_get_IsLibObject(This,pVal)	\
    (This)->lpVtbl -> get_IsLibObject(This,pVal)

#define IMgaReference_Check(This)	\
    (This)->lpVtbl -> Check(This)

#define IMgaReference_CheckTree(This)	\
    (This)->lpVtbl -> CheckTree(This)

#define IMgaReference_put_Exempt(This,newVal)	\
    (This)->lpVtbl -> put_Exempt(This,newVal)

#define IMgaReference_get_Exempt(This,pVal)	\
    (This)->lpVtbl -> get_Exempt(This,pVal)

#define IMgaReference_get_ChildObjects(This,pVal)	\
    (This)->lpVtbl -> get_ChildObjects(This,pVal)

#define IMgaReference_get_ChildObjectByRelID(This,relid,pVal)	\
    (This)->lpVtbl -> get_ChildObjectByRelID(This,relid,pVal)

#define IMgaReference_GetChildObjectByRelIDDisp(This,relid,pVal)	\
    (This)->lpVtbl -> GetChildObjectByRelIDDisp(This,relid,pVal)

#define IMgaReference_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaReference_GetObjectByPathDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetObjectByPathDisp(This,path,pVal)

#define IMgaReference_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaReference_GetNthObjectByPathDisp(This,n_th,path,pVal)	\
    (This)->lpVtbl -> GetNthObjectByPathDisp(This,n_th,path,pVal)

#define IMgaReference_PutReadOnlyAccessWithPropagate(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccessWithPropagate(This,pReadOnly)

#define IMgaReference_PutReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccess(This,pReadOnly)

#define IMgaReference_HasReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> HasReadOnlyAccess(This,pReadOnly)

#define IMgaReference_GetGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> GetGuid(This,l1,l2,l3,l4)

#define IMgaReference_PutGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> PutGuid(This,l1,l2,l3,l4)

#define IMgaReference_GetGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> GetGuidDisp(This,guid_str)

#define IMgaReference_PutGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> PutGuidDisp(This,guid_str)


#define IMgaReference_get_Meta(This,pVal)	\
    (This)->lpVtbl -> get_Meta(This,pVal)

#define IMgaReference_get_MetaRole(This,pVal)	\
    (This)->lpVtbl -> get_MetaRole(This,pVal)

#define IMgaReference_get_ParentModel(This,pVal)	\
    (This)->lpVtbl -> get_ParentModel(This,pVal)

#define IMgaReference_get_ParentFolder(This,pVal)	\
    (This)->lpVtbl -> get_ParentFolder(This,pVal)

#define IMgaReference_get_Parts(This,pVal)	\
    (This)->lpVtbl -> get_Parts(This,pVal)

#define IMgaReference_get_Part(This,asp,pVal)	\
    (This)->lpVtbl -> get_Part(This,asp,pVal)

#define IMgaReference_GetPartDisp(This,asp,pVal)	\
    (This)->lpVtbl -> GetPartDisp(This,asp,pVal)

#define IMgaReference_get_PartByMetaPart(This,part,pVal)	\
    (This)->lpVtbl -> get_PartByMetaPart(This,part,pVal)

#define IMgaReference_GetPartByMetaPartDisp(This,part,pVal)	\
    (This)->lpVtbl -> GetPartByMetaPartDisp(This,part,pVal)

#define IMgaReference_get_Attributes(This,pVal)	\
    (This)->lpVtbl -> get_Attributes(This,pVal)

#define IMgaReference_get_Attribute(This,meta,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,meta,pVal)

#define IMgaReference_GetAttributeDisp(This,meta,pVal)	\
    (This)->lpVtbl -> GetAttributeDisp(This,meta,pVal)

#define IMgaReference_get_AttributeByName(This,name,pVal)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,pVal)

#define IMgaReference_put_AttributeByName(This,name,newval)	\
    (This)->lpVtbl -> put_AttributeByName(This,name,newval)

#define IMgaReference_GetAttributeByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,pVal)

#define IMgaReference_SetAttributeByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetAttributeByNameDisp(This,name,newval)

#define IMgaReference_get_StrAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_StrAttrByName(This,name,pVal)

#define IMgaReference_put_StrAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_StrAttrByName(This,name,newval)

#define IMgaReference_GetStrAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetStrAttrByNameDisp(This,name,pVal)

#define IMgaReference_SetStrAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetStrAttrByNameDisp(This,name,newval)

#define IMgaReference_get_IntAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_IntAttrByName(This,name,pVal)

#define IMgaReference_put_IntAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_IntAttrByName(This,name,newval)

#define IMgaReference_GetIntAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetIntAttrByNameDisp(This,name,pVal)

#define IMgaReference_SetIntAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetIntAttrByNameDisp(This,name,newval)

#define IMgaReference_get_FloatAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_FloatAttrByName(This,name,pVal)

#define IMgaReference_put_FloatAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_FloatAttrByName(This,name,newval)

#define IMgaReference_GetFloatAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetFloatAttrByNameDisp(This,name,pVal)

#define IMgaReference_SetFloatAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetFloatAttrByNameDisp(This,name,newval)

#define IMgaReference_get_BoolAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_BoolAttrByName(This,name,pVal)

#define IMgaReference_put_BoolAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_BoolAttrByName(This,name,newval)

#define IMgaReference_GetBoolAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetBoolAttrByNameDisp(This,name,pVal)

#define IMgaReference_SetBoolAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetBoolAttrByNameDisp(This,name,newval)

#define IMgaReference_get_RefAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_RefAttrByName(This,name,pVal)

#define IMgaReference_put_RefAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_RefAttrByName(This,name,newval)

#define IMgaReference_GetRefAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetRefAttrByNameDisp(This,name,pVal)

#define IMgaReference_SetRefAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetRefAttrByNameDisp(This,name,newval)

#define IMgaReference_ClearAttrByName(This,name)	\
    (This)->lpVtbl -> ClearAttrByName(This,name)

#define IMgaReference_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaReference_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaReference_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaReference_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaReference_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaReference_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaReference_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaReference_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaReference_get_Constraints(This,includemeta,pVal)	\
    (This)->lpVtbl -> get_Constraints(This,includemeta,pVal)

#define IMgaReference_GetConstraintsDisp(This,includemeta,pVal)	\
    (This)->lpVtbl -> GetConstraintsDisp(This,includemeta,pVal)

#define IMgaReference_AddConstraint(This,constraint)	\
    (This)->lpVtbl -> AddConstraint(This,constraint)

#define IMgaReference_DefineConstraint(This,name,mask,expr,nconstraint)	\
    (This)->lpVtbl -> DefineConstraint(This,name,mask,expr,nconstraint)

#define IMgaReference_get_DerivedFrom(This,pVal)	\
    (This)->lpVtbl -> get_DerivedFrom(This,pVal)

#define IMgaReference_get_DerivedObjects(This,pVal)	\
    (This)->lpVtbl -> get_DerivedObjects(This,pVal)

#define IMgaReference_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IMgaReference_get_BaseType(This,pVal)	\
    (This)->lpVtbl -> get_BaseType(This,pVal)

#define IMgaReference_get_ArcheType(This,pVal)	\
    (This)->lpVtbl -> get_ArcheType(This,pVal)

#define IMgaReference_get_IsInstance(This,pVal)	\
    (This)->lpVtbl -> get_IsInstance(This,pVal)

#define IMgaReference_get_IsPrimaryDerived(This,pVal)	\
    (This)->lpVtbl -> get_IsPrimaryDerived(This,pVal)

#define IMgaReference_AttachToArcheType(This,newtype,instance)	\
    (This)->lpVtbl -> AttachToArcheType(This,newtype,instance)

#define IMgaReference_DetachFromArcheType(This)	\
    (This)->lpVtbl -> DetachFromArcheType(This)

#define IMgaReference_GetAbsMetaPath(This,abspath)	\
    (This)->lpVtbl -> GetAbsMetaPath(This,abspath)

#define IMgaReference_GetRelMetaPath(This,begfco,relpath,refs)	\
    (This)->lpVtbl -> GetRelMetaPath(This,begfco,relpath,refs)

#define IMgaReference_get_PartOfConns(This,pVal)	\
    (This)->lpVtbl -> get_PartOfConns(This,pVal)

#define IMgaReference_get_MemberOfSets(This,pVal)	\
    (This)->lpVtbl -> get_MemberOfSets(This,pVal)

#define IMgaReference_get_ReferencedBy(This,pVal)	\
    (This)->lpVtbl -> get_ReferencedBy(This,pVal)

#define IMgaReference_CreateCollection(This,pVal)	\
    (This)->lpVtbl -> CreateCollection(This,pVal)

#define IMgaReference_get_RootFCO(This,pVal)	\
    (This)->lpVtbl -> get_RootFCO(This,pVal)


#define IMgaReference_get_Referred(This,pVal)	\
    (This)->lpVtbl -> get_Referred(This,pVal)

#define IMgaReference_put_Referred(This,newVal)	\
    (This)->lpVtbl -> put_Referred(This,newVal)

#define IMgaReference_get_RefAspect(This,pVal)	\
    (This)->lpVtbl -> get_RefAspect(This,pVal)

#define IMgaReference_put_RefAspect(This,newVal)	\
    (This)->lpVtbl -> put_RefAspect(This,newVal)

#define IMgaReference_get_UsedByConns(This,pVal)	\
    (This)->lpVtbl -> get_UsedByConns(This,pVal)

#define IMgaReference_CompareToBase(This,status)	\
    (This)->lpVtbl -> CompareToBase(This,status)

#define IMgaReference_RevertToBase(This)	\
    (This)->lpVtbl -> RevertToBase(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaReference_get_Referred_Proxy( 
    IMgaReference * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaReference_get_Referred_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaReference_put_Referred_Proxy( 
    IMgaReference * This,
    /* [in] */ IMgaFCO *newVal);


void __RPC_STUB IMgaReference_put_Referred_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaReference_get_RefAspect_Proxy( 
    IMgaReference * This,
    /* [retval][out] */ IMgaMetaAspect **pVal);


void __RPC_STUB IMgaReference_get_RefAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaReference_put_RefAspect_Proxy( 
    IMgaReference * This,
    /* [in] */ IMgaMetaAspect *newVal);


void __RPC_STUB IMgaReference_put_RefAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaReference_get_UsedByConns_Proxy( 
    IMgaReference * This,
    /* [retval][out] */ IMgaConnPoints **pVal);


void __RPC_STUB IMgaReference_get_UsedByConns_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaReference_CompareToBase_Proxy( 
    IMgaReference * This,
    /* [out] */ short *status);


void __RPC_STUB IMgaReference_CompareToBase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaReference_RevertToBase_Proxy( 
    IMgaReference * This);


void __RPC_STUB IMgaReference_RevertToBase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaReference_INTERFACE_DEFINED__ */


#ifndef __IMgaSet_INTERFACE_DEFINED__
#define __IMgaSet_INTERFACE_DEFINED__

/* interface IMgaSet */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3235-B758-11D3-ABAE-000000000000")
    IMgaSet : public IMgaFCO
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddMember( 
            /* [in] */ IMgaFCO *mem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveMember( 
            /* [in] */ IMgaFCO *member) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Members( 
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsMember( 
            /* [in] */ IMgaFCO *obj,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIsMemberDisp( 
            /* [in] */ IMgaFCO *obj,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CompareToBase( 
            /* [out] */ short *status) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RevertToBase( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaSet * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaSet * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaSet * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaSet * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaSet * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaSet * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWritable )( 
            IMgaSet * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            IMgaSet * This,
            /* [retval][out] */ ID_type *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaSet * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaSet * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsPath )( 
            IMgaSet * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaBase )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaSet * This,
            /* [retval][out] */ objtype_enum *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territory )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaTerritory **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEqual )( 
            IMgaSet * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsEqualDisp )( 
            IMgaSet * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IMgaSet * This,
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaSet * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObject )( 
            IMgaSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaSet * This,
            /* [defaultvalue][in] */ openmode mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaSet * This,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAssociation )( 
            IMgaSet * This,
            /* [retval][out] */ VARIANT *userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendEvent )( 
            IMgaSet * This,
            /* [in] */ long mask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelID )( 
            IMgaSet * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelID )( 
            IMgaSet * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLibObject )( 
            IMgaSet * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Check )( 
            IMgaSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTree )( 
            IMgaSet * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Exempt )( 
            IMgaSet * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exempt )( 
            IMgaSet * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjects )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaObjects **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjectByRelID )( 
            IMgaSet * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildObjectByRelIDDisp )( 
            IMgaSet * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByPathDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaSet * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNthObjectByPathDisp )( 
            IMgaSet * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccessWithPropagate )( 
            IMgaSet * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccess )( 
            IMgaSet * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasReadOnlyAccess )( 
            IMgaSet * This,
            /* [retval][out] */ VARIANT_BOOL *pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuid )( 
            IMgaSet * This,
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuid )( 
            IMgaSet * This,
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuidDisp )( 
            IMgaSet * This,
            /* [retval][out] */ BSTR *guid_str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuidDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR guid_str);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Meta )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaMetaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRole )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaMetaRole **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentModel )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaModel **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentFolder )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parts )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaParts **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Part )( 
            IMgaSet * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartDisp )( 
            IMgaSet * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartByMetaPart )( 
            IMgaSet * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartByMetaPartDisp )( 
            IMgaSet * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaAttributes **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attribute )( 
            IMgaSet * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeDisp )( 
            IMgaSet * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AttributeByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttributeByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StrAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StrAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStrAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIntAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIntAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloatAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FloatAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFloatAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFloatAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoolAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoolAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoolAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBoolAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RefAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRefAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRefAttrByNameDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearAttrByName )( 
            IMgaSet * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaSet * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaSet * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaSet * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaSet * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaSet * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConstraintsDisp )( 
            IMgaSet * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddConstraint )( 
            IMgaSet * This,
            /* [in] */ IMgaConstraint *constraint);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DefineConstraint )( 
            IMgaSet * This,
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedFrom )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedObjects )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseType )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcheType )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstance )( 
            IMgaSet * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimaryDerived )( 
            IMgaSet * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToArcheType )( 
            IMgaSet * This,
            /* [in] */ IMgaFCO *newtype,
            /* [in] */ VARIANT_BOOL instance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachFromArcheType )( 
            IMgaSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAbsMetaPath )( 
            IMgaSet * This,
            /* [out][in] */ BSTR *abspath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRelMetaPath )( 
            IMgaSet * This,
            /* [in] */ IMgaFCO *begfco,
            /* [out][in] */ BSTR *relpath,
            /* [defaultvalue][in] */ IMgaFCOs *refs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfConns )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemberOfSets )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReferencedBy )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCollection )( 
            IMgaSet * This,
            /* [out][in] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootFCO )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddMember )( 
            IMgaSet * This,
            /* [in] */ IMgaFCO *mem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveMember )( 
            IMgaSet * This,
            /* [in] */ IMgaFCO *member);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            IMgaSet * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Members )( 
            IMgaSet * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMember )( 
            IMgaSet * This,
            /* [in] */ IMgaFCO *obj,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsMemberDisp )( 
            IMgaSet * This,
            /* [in] */ IMgaFCO *obj,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CompareToBase )( 
            IMgaSet * This,
            /* [out] */ short *status);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RevertToBase )( 
            IMgaSet * This);
        
        END_INTERFACE
    } IMgaSetVtbl;

    interface IMgaSet
    {
        CONST_VTBL struct IMgaSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaSet_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaSet_get_Status(This,p)	\
    (This)->lpVtbl -> get_Status(This,p)

#define IMgaSet_get_IsWritable(This,p)	\
    (This)->lpVtbl -> get_IsWritable(This,p)

#define IMgaSet_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IMgaSet_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaSet_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaSet_get_AbsPath(This,pVal)	\
    (This)->lpVtbl -> get_AbsPath(This,pVal)

#define IMgaSet_get_MetaBase(This,pVal)	\
    (This)->lpVtbl -> get_MetaBase(This,pVal)

#define IMgaSet_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaSet_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaSet_get_Territory(This,pVal)	\
    (This)->lpVtbl -> get_Territory(This,pVal)

#define IMgaSet_get_IsEqual(This,o,pVal)	\
    (This)->lpVtbl -> get_IsEqual(This,o,pVal)

#define IMgaSet_GetIsEqualDisp(This,o,pVal)	\
    (This)->lpVtbl -> GetIsEqualDisp(This,o,pVal)

#define IMgaSet_GetParent(This,pVal,objtype)	\
    (This)->lpVtbl -> GetParent(This,pVal,objtype)

#define IMgaSet_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaSet_DestroyObject(This)	\
    (This)->lpVtbl -> DestroyObject(This)

#define IMgaSet_Open(This,mode)	\
    (This)->lpVtbl -> Open(This,mode)

#define IMgaSet_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaSet_Associate(This,userdata)	\
    (This)->lpVtbl -> Associate(This,userdata)

#define IMgaSet_get_CurrentAssociation(This,userdata)	\
    (This)->lpVtbl -> get_CurrentAssociation(This,userdata)

#define IMgaSet_SendEvent(This,mask)	\
    (This)->lpVtbl -> SendEvent(This,mask)

#define IMgaSet_get_RelID(This,pVal)	\
    (This)->lpVtbl -> get_RelID(This,pVal)

#define IMgaSet_put_RelID(This,newVal)	\
    (This)->lpVtbl -> put_RelID(This,newVal)

#define IMgaSet_get_IsLibObject(This,pVal)	\
    (This)->lpVtbl -> get_IsLibObject(This,pVal)

#define IMgaSet_Check(This)	\
    (This)->lpVtbl -> Check(This)

#define IMgaSet_CheckTree(This)	\
    (This)->lpVtbl -> CheckTree(This)

#define IMgaSet_put_Exempt(This,newVal)	\
    (This)->lpVtbl -> put_Exempt(This,newVal)

#define IMgaSet_get_Exempt(This,pVal)	\
    (This)->lpVtbl -> get_Exempt(This,pVal)

#define IMgaSet_get_ChildObjects(This,pVal)	\
    (This)->lpVtbl -> get_ChildObjects(This,pVal)

#define IMgaSet_get_ChildObjectByRelID(This,relid,pVal)	\
    (This)->lpVtbl -> get_ChildObjectByRelID(This,relid,pVal)

#define IMgaSet_GetChildObjectByRelIDDisp(This,relid,pVal)	\
    (This)->lpVtbl -> GetChildObjectByRelIDDisp(This,relid,pVal)

#define IMgaSet_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaSet_GetObjectByPathDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetObjectByPathDisp(This,path,pVal)

#define IMgaSet_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaSet_GetNthObjectByPathDisp(This,n_th,path,pVal)	\
    (This)->lpVtbl -> GetNthObjectByPathDisp(This,n_th,path,pVal)

#define IMgaSet_PutReadOnlyAccessWithPropagate(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccessWithPropagate(This,pReadOnly)

#define IMgaSet_PutReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccess(This,pReadOnly)

#define IMgaSet_HasReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> HasReadOnlyAccess(This,pReadOnly)

#define IMgaSet_GetGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> GetGuid(This,l1,l2,l3,l4)

#define IMgaSet_PutGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> PutGuid(This,l1,l2,l3,l4)

#define IMgaSet_GetGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> GetGuidDisp(This,guid_str)

#define IMgaSet_PutGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> PutGuidDisp(This,guid_str)


#define IMgaSet_get_Meta(This,pVal)	\
    (This)->lpVtbl -> get_Meta(This,pVal)

#define IMgaSet_get_MetaRole(This,pVal)	\
    (This)->lpVtbl -> get_MetaRole(This,pVal)

#define IMgaSet_get_ParentModel(This,pVal)	\
    (This)->lpVtbl -> get_ParentModel(This,pVal)

#define IMgaSet_get_ParentFolder(This,pVal)	\
    (This)->lpVtbl -> get_ParentFolder(This,pVal)

#define IMgaSet_get_Parts(This,pVal)	\
    (This)->lpVtbl -> get_Parts(This,pVal)

#define IMgaSet_get_Part(This,asp,pVal)	\
    (This)->lpVtbl -> get_Part(This,asp,pVal)

#define IMgaSet_GetPartDisp(This,asp,pVal)	\
    (This)->lpVtbl -> GetPartDisp(This,asp,pVal)

#define IMgaSet_get_PartByMetaPart(This,part,pVal)	\
    (This)->lpVtbl -> get_PartByMetaPart(This,part,pVal)

#define IMgaSet_GetPartByMetaPartDisp(This,part,pVal)	\
    (This)->lpVtbl -> GetPartByMetaPartDisp(This,part,pVal)

#define IMgaSet_get_Attributes(This,pVal)	\
    (This)->lpVtbl -> get_Attributes(This,pVal)

#define IMgaSet_get_Attribute(This,meta,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,meta,pVal)

#define IMgaSet_GetAttributeDisp(This,meta,pVal)	\
    (This)->lpVtbl -> GetAttributeDisp(This,meta,pVal)

#define IMgaSet_get_AttributeByName(This,name,pVal)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,pVal)

#define IMgaSet_put_AttributeByName(This,name,newval)	\
    (This)->lpVtbl -> put_AttributeByName(This,name,newval)

#define IMgaSet_GetAttributeByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,pVal)

#define IMgaSet_SetAttributeByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetAttributeByNameDisp(This,name,newval)

#define IMgaSet_get_StrAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_StrAttrByName(This,name,pVal)

#define IMgaSet_put_StrAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_StrAttrByName(This,name,newval)

#define IMgaSet_GetStrAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetStrAttrByNameDisp(This,name,pVal)

#define IMgaSet_SetStrAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetStrAttrByNameDisp(This,name,newval)

#define IMgaSet_get_IntAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_IntAttrByName(This,name,pVal)

#define IMgaSet_put_IntAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_IntAttrByName(This,name,newval)

#define IMgaSet_GetIntAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetIntAttrByNameDisp(This,name,pVal)

#define IMgaSet_SetIntAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetIntAttrByNameDisp(This,name,newval)

#define IMgaSet_get_FloatAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_FloatAttrByName(This,name,pVal)

#define IMgaSet_put_FloatAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_FloatAttrByName(This,name,newval)

#define IMgaSet_GetFloatAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetFloatAttrByNameDisp(This,name,pVal)

#define IMgaSet_SetFloatAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetFloatAttrByNameDisp(This,name,newval)

#define IMgaSet_get_BoolAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_BoolAttrByName(This,name,pVal)

#define IMgaSet_put_BoolAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_BoolAttrByName(This,name,newval)

#define IMgaSet_GetBoolAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetBoolAttrByNameDisp(This,name,pVal)

#define IMgaSet_SetBoolAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetBoolAttrByNameDisp(This,name,newval)

#define IMgaSet_get_RefAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_RefAttrByName(This,name,pVal)

#define IMgaSet_put_RefAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_RefAttrByName(This,name,newval)

#define IMgaSet_GetRefAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetRefAttrByNameDisp(This,name,pVal)

#define IMgaSet_SetRefAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetRefAttrByNameDisp(This,name,newval)

#define IMgaSet_ClearAttrByName(This,name)	\
    (This)->lpVtbl -> ClearAttrByName(This,name)

#define IMgaSet_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaSet_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaSet_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaSet_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaSet_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaSet_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaSet_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaSet_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaSet_get_Constraints(This,includemeta,pVal)	\
    (This)->lpVtbl -> get_Constraints(This,includemeta,pVal)

#define IMgaSet_GetConstraintsDisp(This,includemeta,pVal)	\
    (This)->lpVtbl -> GetConstraintsDisp(This,includemeta,pVal)

#define IMgaSet_AddConstraint(This,constraint)	\
    (This)->lpVtbl -> AddConstraint(This,constraint)

#define IMgaSet_DefineConstraint(This,name,mask,expr,nconstraint)	\
    (This)->lpVtbl -> DefineConstraint(This,name,mask,expr,nconstraint)

#define IMgaSet_get_DerivedFrom(This,pVal)	\
    (This)->lpVtbl -> get_DerivedFrom(This,pVal)

#define IMgaSet_get_DerivedObjects(This,pVal)	\
    (This)->lpVtbl -> get_DerivedObjects(This,pVal)

#define IMgaSet_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IMgaSet_get_BaseType(This,pVal)	\
    (This)->lpVtbl -> get_BaseType(This,pVal)

#define IMgaSet_get_ArcheType(This,pVal)	\
    (This)->lpVtbl -> get_ArcheType(This,pVal)

#define IMgaSet_get_IsInstance(This,pVal)	\
    (This)->lpVtbl -> get_IsInstance(This,pVal)

#define IMgaSet_get_IsPrimaryDerived(This,pVal)	\
    (This)->lpVtbl -> get_IsPrimaryDerived(This,pVal)

#define IMgaSet_AttachToArcheType(This,newtype,instance)	\
    (This)->lpVtbl -> AttachToArcheType(This,newtype,instance)

#define IMgaSet_DetachFromArcheType(This)	\
    (This)->lpVtbl -> DetachFromArcheType(This)

#define IMgaSet_GetAbsMetaPath(This,abspath)	\
    (This)->lpVtbl -> GetAbsMetaPath(This,abspath)

#define IMgaSet_GetRelMetaPath(This,begfco,relpath,refs)	\
    (This)->lpVtbl -> GetRelMetaPath(This,begfco,relpath,refs)

#define IMgaSet_get_PartOfConns(This,pVal)	\
    (This)->lpVtbl -> get_PartOfConns(This,pVal)

#define IMgaSet_get_MemberOfSets(This,pVal)	\
    (This)->lpVtbl -> get_MemberOfSets(This,pVal)

#define IMgaSet_get_ReferencedBy(This,pVal)	\
    (This)->lpVtbl -> get_ReferencedBy(This,pVal)

#define IMgaSet_CreateCollection(This,pVal)	\
    (This)->lpVtbl -> CreateCollection(This,pVal)

#define IMgaSet_get_RootFCO(This,pVal)	\
    (This)->lpVtbl -> get_RootFCO(This,pVal)


#define IMgaSet_AddMember(This,mem)	\
    (This)->lpVtbl -> AddMember(This,mem)

#define IMgaSet_RemoveMember(This,member)	\
    (This)->lpVtbl -> RemoveMember(This,member)

#define IMgaSet_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#define IMgaSet_get_Members(This,pVal)	\
    (This)->lpVtbl -> get_Members(This,pVal)

#define IMgaSet_get_IsMember(This,obj,pVal)	\
    (This)->lpVtbl -> get_IsMember(This,obj,pVal)

#define IMgaSet_GetIsMemberDisp(This,obj,pVal)	\
    (This)->lpVtbl -> GetIsMemberDisp(This,obj,pVal)

#define IMgaSet_CompareToBase(This,status)	\
    (This)->lpVtbl -> CompareToBase(This,status)

#define IMgaSet_RevertToBase(This)	\
    (This)->lpVtbl -> RevertToBase(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaSet_AddMember_Proxy( 
    IMgaSet * This,
    /* [in] */ IMgaFCO *mem);


void __RPC_STUB IMgaSet_AddMember_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaSet_RemoveMember_Proxy( 
    IMgaSet * This,
    /* [in] */ IMgaFCO *member);


void __RPC_STUB IMgaSet_RemoveMember_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaSet_RemoveAll_Proxy( 
    IMgaSet * This);


void __RPC_STUB IMgaSet_RemoveAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaSet_get_Members_Proxy( 
    IMgaSet * This,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaSet_get_Members_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaSet_get_IsMember_Proxy( 
    IMgaSet * This,
    /* [in] */ IMgaFCO *obj,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaSet_get_IsMember_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaSet_GetIsMemberDisp_Proxy( 
    IMgaSet * This,
    /* [in] */ IMgaFCO *obj,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaSet_GetIsMemberDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaSet_CompareToBase_Proxy( 
    IMgaSet * This,
    /* [out] */ short *status);


void __RPC_STUB IMgaSet_CompareToBase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMgaSet_RevertToBase_Proxy( 
    IMgaSet * This);


void __RPC_STUB IMgaSet_RevertToBase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaSet_INTERFACE_DEFINED__ */


#ifndef __IMgaConnection_INTERFACE_DEFINED__
#define __IMgaConnection_INTERFACE_DEFINED__

/* interface IMgaConnection */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaConnection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("270B4FA0-B17C-11D3-9AD1-00AA00B6FE26")
    IMgaConnection : public IMgaFCO
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddConnPoint( 
            /* [in] */ BSTR rolename,
            /* [in] */ long maxinrole,
            /* [in] */ IMgaFCO *target,
            /* [in] */ IMgaFCOs *refs,
            /* [out] */ IMgaConnPoint **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ConnPoints( 
            /* [retval][out] */ IMgaConnPoints **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CompareToBase( 
            /* [in] */ IMgaConnPoint *connpoint,
            /* [out] */ short *status) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RevertToBase( 
            /* [in] */ IMgaConnPoint *connpoint) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaConnectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaConnection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaConnection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaConnection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaConnection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaConnection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaConnection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaConnection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaConnection * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWritable )( 
            IMgaConnection * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            IMgaConnection * This,
            /* [retval][out] */ ID_type *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaConnection * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaConnection * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsPath )( 
            IMgaConnection * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaBase )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaConnection * This,
            /* [retval][out] */ objtype_enum *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territory )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaTerritory **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEqual )( 
            IMgaConnection * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsEqualDisp )( 
            IMgaConnection * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IMgaConnection * This,
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaConnection * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObject )( 
            IMgaConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaConnection * This,
            /* [defaultvalue][in] */ openmode mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaConnection * This,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAssociation )( 
            IMgaConnection * This,
            /* [retval][out] */ VARIANT *userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendEvent )( 
            IMgaConnection * This,
            /* [in] */ long mask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelID )( 
            IMgaConnection * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelID )( 
            IMgaConnection * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLibObject )( 
            IMgaConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Check )( 
            IMgaConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTree )( 
            IMgaConnection * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Exempt )( 
            IMgaConnection * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exempt )( 
            IMgaConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjects )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaObjects **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjectByRelID )( 
            IMgaConnection * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildObjectByRelIDDisp )( 
            IMgaConnection * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByPathDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaConnection * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNthObjectByPathDisp )( 
            IMgaConnection * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccessWithPropagate )( 
            IMgaConnection * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccess )( 
            IMgaConnection * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasReadOnlyAccess )( 
            IMgaConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuid )( 
            IMgaConnection * This,
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuid )( 
            IMgaConnection * This,
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuidDisp )( 
            IMgaConnection * This,
            /* [retval][out] */ BSTR *guid_str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuidDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR guid_str);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Meta )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaMetaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRole )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaMetaRole **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentModel )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaModel **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentFolder )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parts )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaParts **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Part )( 
            IMgaConnection * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartDisp )( 
            IMgaConnection * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartByMetaPart )( 
            IMgaConnection * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartByMetaPartDisp )( 
            IMgaConnection * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaAttributes **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attribute )( 
            IMgaConnection * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeDisp )( 
            IMgaConnection * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AttributeByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttributeByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StrAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StrAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStrAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIntAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIntAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloatAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FloatAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFloatAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFloatAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoolAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoolAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoolAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBoolAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RefAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRefAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRefAttrByNameDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearAttrByName )( 
            IMgaConnection * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaConnection * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaConnection * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaConnection * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaConnection * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaConnection * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConstraintsDisp )( 
            IMgaConnection * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddConstraint )( 
            IMgaConnection * This,
            /* [in] */ IMgaConstraint *constraint);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DefineConstraint )( 
            IMgaConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedFrom )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedObjects )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseType )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcheType )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstance )( 
            IMgaConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimaryDerived )( 
            IMgaConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToArcheType )( 
            IMgaConnection * This,
            /* [in] */ IMgaFCO *newtype,
            /* [in] */ VARIANT_BOOL instance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachFromArcheType )( 
            IMgaConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAbsMetaPath )( 
            IMgaConnection * This,
            /* [out][in] */ BSTR *abspath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRelMetaPath )( 
            IMgaConnection * This,
            /* [in] */ IMgaFCO *begfco,
            /* [out][in] */ BSTR *relpath,
            /* [defaultvalue][in] */ IMgaFCOs *refs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfConns )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemberOfSets )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReferencedBy )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCollection )( 
            IMgaConnection * This,
            /* [out][in] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootFCO )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddConnPoint )( 
            IMgaConnection * This,
            /* [in] */ BSTR rolename,
            /* [in] */ long maxinrole,
            /* [in] */ IMgaFCO *target,
            /* [in] */ IMgaFCOs *refs,
            /* [out] */ IMgaConnPoint **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnPoints )( 
            IMgaConnection * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CompareToBase )( 
            IMgaConnection * This,
            /* [in] */ IMgaConnPoint *connpoint,
            /* [out] */ short *status);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RevertToBase )( 
            IMgaConnection * This,
            /* [in] */ IMgaConnPoint *connpoint);
        
        END_INTERFACE
    } IMgaConnectionVtbl;

    interface IMgaConnection
    {
        CONST_VTBL struct IMgaConnectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaConnection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaConnection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaConnection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaConnection_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaConnection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaConnection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaConnection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaConnection_get_Status(This,p)	\
    (This)->lpVtbl -> get_Status(This,p)

#define IMgaConnection_get_IsWritable(This,p)	\
    (This)->lpVtbl -> get_IsWritable(This,p)

#define IMgaConnection_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IMgaConnection_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaConnection_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaConnection_get_AbsPath(This,pVal)	\
    (This)->lpVtbl -> get_AbsPath(This,pVal)

#define IMgaConnection_get_MetaBase(This,pVal)	\
    (This)->lpVtbl -> get_MetaBase(This,pVal)

#define IMgaConnection_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaConnection_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaConnection_get_Territory(This,pVal)	\
    (This)->lpVtbl -> get_Territory(This,pVal)

#define IMgaConnection_get_IsEqual(This,o,pVal)	\
    (This)->lpVtbl -> get_IsEqual(This,o,pVal)

#define IMgaConnection_GetIsEqualDisp(This,o,pVal)	\
    (This)->lpVtbl -> GetIsEqualDisp(This,o,pVal)

#define IMgaConnection_GetParent(This,pVal,objtype)	\
    (This)->lpVtbl -> GetParent(This,pVal,objtype)

#define IMgaConnection_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaConnection_DestroyObject(This)	\
    (This)->lpVtbl -> DestroyObject(This)

#define IMgaConnection_Open(This,mode)	\
    (This)->lpVtbl -> Open(This,mode)

#define IMgaConnection_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaConnection_Associate(This,userdata)	\
    (This)->lpVtbl -> Associate(This,userdata)

#define IMgaConnection_get_CurrentAssociation(This,userdata)	\
    (This)->lpVtbl -> get_CurrentAssociation(This,userdata)

#define IMgaConnection_SendEvent(This,mask)	\
    (This)->lpVtbl -> SendEvent(This,mask)

#define IMgaConnection_get_RelID(This,pVal)	\
    (This)->lpVtbl -> get_RelID(This,pVal)

#define IMgaConnection_put_RelID(This,newVal)	\
    (This)->lpVtbl -> put_RelID(This,newVal)

#define IMgaConnection_get_IsLibObject(This,pVal)	\
    (This)->lpVtbl -> get_IsLibObject(This,pVal)

#define IMgaConnection_Check(This)	\
    (This)->lpVtbl -> Check(This)

#define IMgaConnection_CheckTree(This)	\
    (This)->lpVtbl -> CheckTree(This)

#define IMgaConnection_put_Exempt(This,newVal)	\
    (This)->lpVtbl -> put_Exempt(This,newVal)

#define IMgaConnection_get_Exempt(This,pVal)	\
    (This)->lpVtbl -> get_Exempt(This,pVal)

#define IMgaConnection_get_ChildObjects(This,pVal)	\
    (This)->lpVtbl -> get_ChildObjects(This,pVal)

#define IMgaConnection_get_ChildObjectByRelID(This,relid,pVal)	\
    (This)->lpVtbl -> get_ChildObjectByRelID(This,relid,pVal)

#define IMgaConnection_GetChildObjectByRelIDDisp(This,relid,pVal)	\
    (This)->lpVtbl -> GetChildObjectByRelIDDisp(This,relid,pVal)

#define IMgaConnection_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaConnection_GetObjectByPathDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetObjectByPathDisp(This,path,pVal)

#define IMgaConnection_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaConnection_GetNthObjectByPathDisp(This,n_th,path,pVal)	\
    (This)->lpVtbl -> GetNthObjectByPathDisp(This,n_th,path,pVal)

#define IMgaConnection_PutReadOnlyAccessWithPropagate(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccessWithPropagate(This,pReadOnly)

#define IMgaConnection_PutReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccess(This,pReadOnly)

#define IMgaConnection_HasReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> HasReadOnlyAccess(This,pReadOnly)

#define IMgaConnection_GetGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> GetGuid(This,l1,l2,l3,l4)

#define IMgaConnection_PutGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> PutGuid(This,l1,l2,l3,l4)

#define IMgaConnection_GetGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> GetGuidDisp(This,guid_str)

#define IMgaConnection_PutGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> PutGuidDisp(This,guid_str)


#define IMgaConnection_get_Meta(This,pVal)	\
    (This)->lpVtbl -> get_Meta(This,pVal)

#define IMgaConnection_get_MetaRole(This,pVal)	\
    (This)->lpVtbl -> get_MetaRole(This,pVal)

#define IMgaConnection_get_ParentModel(This,pVal)	\
    (This)->lpVtbl -> get_ParentModel(This,pVal)

#define IMgaConnection_get_ParentFolder(This,pVal)	\
    (This)->lpVtbl -> get_ParentFolder(This,pVal)

#define IMgaConnection_get_Parts(This,pVal)	\
    (This)->lpVtbl -> get_Parts(This,pVal)

#define IMgaConnection_get_Part(This,asp,pVal)	\
    (This)->lpVtbl -> get_Part(This,asp,pVal)

#define IMgaConnection_GetPartDisp(This,asp,pVal)	\
    (This)->lpVtbl -> GetPartDisp(This,asp,pVal)

#define IMgaConnection_get_PartByMetaPart(This,part,pVal)	\
    (This)->lpVtbl -> get_PartByMetaPart(This,part,pVal)

#define IMgaConnection_GetPartByMetaPartDisp(This,part,pVal)	\
    (This)->lpVtbl -> GetPartByMetaPartDisp(This,part,pVal)

#define IMgaConnection_get_Attributes(This,pVal)	\
    (This)->lpVtbl -> get_Attributes(This,pVal)

#define IMgaConnection_get_Attribute(This,meta,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,meta,pVal)

#define IMgaConnection_GetAttributeDisp(This,meta,pVal)	\
    (This)->lpVtbl -> GetAttributeDisp(This,meta,pVal)

#define IMgaConnection_get_AttributeByName(This,name,pVal)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,pVal)

#define IMgaConnection_put_AttributeByName(This,name,newval)	\
    (This)->lpVtbl -> put_AttributeByName(This,name,newval)

#define IMgaConnection_GetAttributeByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,pVal)

#define IMgaConnection_SetAttributeByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetAttributeByNameDisp(This,name,newval)

#define IMgaConnection_get_StrAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_StrAttrByName(This,name,pVal)

#define IMgaConnection_put_StrAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_StrAttrByName(This,name,newval)

#define IMgaConnection_GetStrAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetStrAttrByNameDisp(This,name,pVal)

#define IMgaConnection_SetStrAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetStrAttrByNameDisp(This,name,newval)

#define IMgaConnection_get_IntAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_IntAttrByName(This,name,pVal)

#define IMgaConnection_put_IntAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_IntAttrByName(This,name,newval)

#define IMgaConnection_GetIntAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetIntAttrByNameDisp(This,name,pVal)

#define IMgaConnection_SetIntAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetIntAttrByNameDisp(This,name,newval)

#define IMgaConnection_get_FloatAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_FloatAttrByName(This,name,pVal)

#define IMgaConnection_put_FloatAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_FloatAttrByName(This,name,newval)

#define IMgaConnection_GetFloatAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetFloatAttrByNameDisp(This,name,pVal)

#define IMgaConnection_SetFloatAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetFloatAttrByNameDisp(This,name,newval)

#define IMgaConnection_get_BoolAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_BoolAttrByName(This,name,pVal)

#define IMgaConnection_put_BoolAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_BoolAttrByName(This,name,newval)

#define IMgaConnection_GetBoolAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetBoolAttrByNameDisp(This,name,pVal)

#define IMgaConnection_SetBoolAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetBoolAttrByNameDisp(This,name,newval)

#define IMgaConnection_get_RefAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_RefAttrByName(This,name,pVal)

#define IMgaConnection_put_RefAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_RefAttrByName(This,name,newval)

#define IMgaConnection_GetRefAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetRefAttrByNameDisp(This,name,pVal)

#define IMgaConnection_SetRefAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetRefAttrByNameDisp(This,name,newval)

#define IMgaConnection_ClearAttrByName(This,name)	\
    (This)->lpVtbl -> ClearAttrByName(This,name)

#define IMgaConnection_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaConnection_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaConnection_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaConnection_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaConnection_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaConnection_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaConnection_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaConnection_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaConnection_get_Constraints(This,includemeta,pVal)	\
    (This)->lpVtbl -> get_Constraints(This,includemeta,pVal)

#define IMgaConnection_GetConstraintsDisp(This,includemeta,pVal)	\
    (This)->lpVtbl -> GetConstraintsDisp(This,includemeta,pVal)

#define IMgaConnection_AddConstraint(This,constraint)	\
    (This)->lpVtbl -> AddConstraint(This,constraint)

#define IMgaConnection_DefineConstraint(This,name,mask,expr,nconstraint)	\
    (This)->lpVtbl -> DefineConstraint(This,name,mask,expr,nconstraint)

#define IMgaConnection_get_DerivedFrom(This,pVal)	\
    (This)->lpVtbl -> get_DerivedFrom(This,pVal)

#define IMgaConnection_get_DerivedObjects(This,pVal)	\
    (This)->lpVtbl -> get_DerivedObjects(This,pVal)

#define IMgaConnection_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IMgaConnection_get_BaseType(This,pVal)	\
    (This)->lpVtbl -> get_BaseType(This,pVal)

#define IMgaConnection_get_ArcheType(This,pVal)	\
    (This)->lpVtbl -> get_ArcheType(This,pVal)

#define IMgaConnection_get_IsInstance(This,pVal)	\
    (This)->lpVtbl -> get_IsInstance(This,pVal)

#define IMgaConnection_get_IsPrimaryDerived(This,pVal)	\
    (This)->lpVtbl -> get_IsPrimaryDerived(This,pVal)

#define IMgaConnection_AttachToArcheType(This,newtype,instance)	\
    (This)->lpVtbl -> AttachToArcheType(This,newtype,instance)

#define IMgaConnection_DetachFromArcheType(This)	\
    (This)->lpVtbl -> DetachFromArcheType(This)

#define IMgaConnection_GetAbsMetaPath(This,abspath)	\
    (This)->lpVtbl -> GetAbsMetaPath(This,abspath)

#define IMgaConnection_GetRelMetaPath(This,begfco,relpath,refs)	\
    (This)->lpVtbl -> GetRelMetaPath(This,begfco,relpath,refs)

#define IMgaConnection_get_PartOfConns(This,pVal)	\
    (This)->lpVtbl -> get_PartOfConns(This,pVal)

#define IMgaConnection_get_MemberOfSets(This,pVal)	\
    (This)->lpVtbl -> get_MemberOfSets(This,pVal)

#define IMgaConnection_get_ReferencedBy(This,pVal)	\
    (This)->lpVtbl -> get_ReferencedBy(This,pVal)

#define IMgaConnection_CreateCollection(This,pVal)	\
    (This)->lpVtbl -> CreateCollection(This,pVal)

#define IMgaConnection_get_RootFCO(This,pVal)	\
    (This)->lpVtbl -> get_RootFCO(This,pVal)


#define IMgaConnection_AddConnPoint(This,rolename,maxinrole,target,refs,pVal)	\
    (This)->lpVtbl -> AddConnPoint(This,rolename,maxinrole,target,refs,pVal)

#define IMgaConnection_get_ConnPoints(This,pVal)	\
    (This)->lpVtbl -> get_ConnPoints(This,pVal)

#define IMgaConnection_CompareToBase(This,connpoint,status)	\
    (This)->lpVtbl -> CompareToBase(This,connpoint,status)

#define IMgaConnection_RevertToBase(This,connpoint)	\
    (This)->lpVtbl -> RevertToBase(This,connpoint)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConnection_AddConnPoint_Proxy( 
    IMgaConnection * This,
    /* [in] */ BSTR rolename,
    /* [in] */ long maxinrole,
    /* [in] */ IMgaFCO *target,
    /* [in] */ IMgaFCOs *refs,
    /* [out] */ IMgaConnPoint **pVal);


void __RPC_STUB IMgaConnection_AddConnPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConnection_get_ConnPoints_Proxy( 
    IMgaConnection * This,
    /* [retval][out] */ IMgaConnPoints **pVal);


void __RPC_STUB IMgaConnection_get_ConnPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConnection_CompareToBase_Proxy( 
    IMgaConnection * This,
    /* [in] */ IMgaConnPoint *connpoint,
    /* [out] */ short *status);


void __RPC_STUB IMgaConnection_CompareToBase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConnection_RevertToBase_Proxy( 
    IMgaConnection * This,
    /* [in] */ IMgaConnPoint *connpoint);


void __RPC_STUB IMgaConnection_RevertToBase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaConnection_INTERFACE_DEFINED__ */


#ifndef __IMgaSimpleConnection_INTERFACE_DEFINED__
#define __IMgaSimpleConnection_INTERFACE_DEFINED__

/* interface IMgaSimpleConnection */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaSimpleConnection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA3237-B758-11D3-ABAE-000000000000")
    IMgaSimpleConnection : public IMgaConnection
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Src( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Dst( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SrcReferences( 
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DstReferences( 
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDst( 
            /* [in] */ IMgaFCOs *references,
            /* [in] */ IMgaFCO *target) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSrc( 
            /* [in] */ IMgaFCOs *references,
            /* [in] */ IMgaFCO *target) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaSimpleConnectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaSimpleConnection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaSimpleConnection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaSimpleConnection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaSimpleConnection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaSimpleConnection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaSimpleConnection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaSimpleConnection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWritable )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ID )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ ID_type *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsPath )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaBase )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaMetaBase **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ objtype_enum *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Territory )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaTerritory **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEqual )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIsEqualDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaObject *o,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IMgaSimpleConnection * This,
            /* [out] */ IMgaObject **pVal,
            /* [defaultvalue][out] */ objtype_enum *objtype);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProject )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaProject *project);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyObject )( 
            IMgaSimpleConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMgaSimpleConnection * This,
            /* [defaultvalue][in] */ openmode mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMgaSimpleConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaSimpleConnection * This,
            /* [in] */ VARIANT userdata);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAssociation )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ VARIANT *userdata);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendEvent )( 
            IMgaSimpleConnection * This,
            /* [in] */ long mask);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelID )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelID )( 
            IMgaSimpleConnection * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLibObject )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Check )( 
            IMgaSimpleConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTree )( 
            IMgaSimpleConnection * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Exempt )( 
            IMgaSimpleConnection * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exempt )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjects )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaObjects **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildObjectByRelID )( 
            IMgaSimpleConnection * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildObjectByRelIDDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ long relid,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectByPath )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectByPathDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NthObjectByPath )( 
            IMgaSimpleConnection * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNthObjectByPathDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ long n_th,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaObject **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccessWithPropagate )( 
            IMgaSimpleConnection * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutReadOnlyAccess )( 
            IMgaSimpleConnection * This,
            /* [in] */ VARIANT_BOOL pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasReadOnlyAccess )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pReadOnly);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuid )( 
            IMgaSimpleConnection * This,
            /* [out][in] */ long *l1,
            /* [out][in] */ long *l2,
            /* [out][in] */ long *l3,
            /* [out][in] */ long *l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuid )( 
            IMgaSimpleConnection * This,
            /* [in] */ long l1,
            /* [in] */ long l2,
            /* [in] */ long l3,
            /* [in] */ long l4);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGuidDisp )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ BSTR *guid_str);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutGuidDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR guid_str);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Meta )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaMetaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetaRole )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaMetaRole **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentModel )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaModel **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentFolder )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFolder **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parts )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaParts **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Part )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaMetaAspect *asp,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartByMetaPart )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPartByMetaPartDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaMetaPart *part,
            /* [retval][out] */ IMgaPart **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaAttributes **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attribute )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaMetaAttribute *meta,
            /* [retval][out] */ IMgaAttribute **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AttributeByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttributeByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StrAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StrAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStrAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIntAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIntAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ long newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloatAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FloatAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFloatAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetFloatAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ double newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoolAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoolAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBoolAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBoolAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT_BOOL newval);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RefAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRefAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRefAttrByNameDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ IMgaFCO *newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearAttrByName )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaSimpleConnection * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaSimpleConnection * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Constraints )( 
            IMgaSimpleConnection * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConstraintsDisp )( 
            IMgaSimpleConnection * This,
            /* [in] */ VARIANT_BOOL includemeta,
            /* [retval][out] */ IMgaConstraints **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddConstraint )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaConstraint *constraint);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DefineConstraint )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR name,
            /* [in] */ long mask,
            /* [in] */ BSTR expr,
            /* [out] */ IMgaConstraint **nconstraint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedFrom )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerivedObjects )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseType )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcheType )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstance )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimaryDerived )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachToArcheType )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaFCO *newtype,
            /* [in] */ VARIANT_BOOL instance);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachFromArcheType )( 
            IMgaSimpleConnection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAbsMetaPath )( 
            IMgaSimpleConnection * This,
            /* [out][in] */ BSTR *abspath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRelMetaPath )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaFCO *begfco,
            /* [out][in] */ BSTR *relpath,
            /* [defaultvalue][in] */ IMgaFCOs *refs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfConns )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemberOfSets )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReferencedBy )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCollection )( 
            IMgaSimpleConnection * This,
            /* [out][in] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootFCO )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddConnPoint )( 
            IMgaSimpleConnection * This,
            /* [in] */ BSTR rolename,
            /* [in] */ long maxinrole,
            /* [in] */ IMgaFCO *target,
            /* [in] */ IMgaFCOs *refs,
            /* [out] */ IMgaConnPoint **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnPoints )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaConnPoints **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CompareToBase )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaConnPoint *connpoint,
            /* [out] */ short *status);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RevertToBase )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaConnPoint *connpoint);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Src )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Dst )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SrcReferences )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DstReferences )( 
            IMgaSimpleConnection * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDst )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaFCOs *references,
            /* [in] */ IMgaFCO *target);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSrc )( 
            IMgaSimpleConnection * This,
            /* [in] */ IMgaFCOs *references,
            /* [in] */ IMgaFCO *target);
        
        END_INTERFACE
    } IMgaSimpleConnectionVtbl;

    interface IMgaSimpleConnection
    {
        CONST_VTBL struct IMgaSimpleConnectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaSimpleConnection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaSimpleConnection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaSimpleConnection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaSimpleConnection_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaSimpleConnection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaSimpleConnection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaSimpleConnection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaSimpleConnection_get_Status(This,p)	\
    (This)->lpVtbl -> get_Status(This,p)

#define IMgaSimpleConnection_get_IsWritable(This,p)	\
    (This)->lpVtbl -> get_IsWritable(This,p)

#define IMgaSimpleConnection_get_ID(This,pVal)	\
    (This)->lpVtbl -> get_ID(This,pVal)

#define IMgaSimpleConnection_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaSimpleConnection_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaSimpleConnection_get_AbsPath(This,pVal)	\
    (This)->lpVtbl -> get_AbsPath(This,pVal)

#define IMgaSimpleConnection_get_MetaBase(This,pVal)	\
    (This)->lpVtbl -> get_MetaBase(This,pVal)

#define IMgaSimpleConnection_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaSimpleConnection_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#define IMgaSimpleConnection_get_Territory(This,pVal)	\
    (This)->lpVtbl -> get_Territory(This,pVal)

#define IMgaSimpleConnection_get_IsEqual(This,o,pVal)	\
    (This)->lpVtbl -> get_IsEqual(This,o,pVal)

#define IMgaSimpleConnection_GetIsEqualDisp(This,o,pVal)	\
    (This)->lpVtbl -> GetIsEqualDisp(This,o,pVal)

#define IMgaSimpleConnection_GetParent(This,pVal,objtype)	\
    (This)->lpVtbl -> GetParent(This,pVal,objtype)

#define IMgaSimpleConnection_CheckProject(This,project)	\
    (This)->lpVtbl -> CheckProject(This,project)

#define IMgaSimpleConnection_DestroyObject(This)	\
    (This)->lpVtbl -> DestroyObject(This)

#define IMgaSimpleConnection_Open(This,mode)	\
    (This)->lpVtbl -> Open(This,mode)

#define IMgaSimpleConnection_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IMgaSimpleConnection_Associate(This,userdata)	\
    (This)->lpVtbl -> Associate(This,userdata)

#define IMgaSimpleConnection_get_CurrentAssociation(This,userdata)	\
    (This)->lpVtbl -> get_CurrentAssociation(This,userdata)

#define IMgaSimpleConnection_SendEvent(This,mask)	\
    (This)->lpVtbl -> SendEvent(This,mask)

#define IMgaSimpleConnection_get_RelID(This,pVal)	\
    (This)->lpVtbl -> get_RelID(This,pVal)

#define IMgaSimpleConnection_put_RelID(This,newVal)	\
    (This)->lpVtbl -> put_RelID(This,newVal)

#define IMgaSimpleConnection_get_IsLibObject(This,pVal)	\
    (This)->lpVtbl -> get_IsLibObject(This,pVal)

#define IMgaSimpleConnection_Check(This)	\
    (This)->lpVtbl -> Check(This)

#define IMgaSimpleConnection_CheckTree(This)	\
    (This)->lpVtbl -> CheckTree(This)

#define IMgaSimpleConnection_put_Exempt(This,newVal)	\
    (This)->lpVtbl -> put_Exempt(This,newVal)

#define IMgaSimpleConnection_get_Exempt(This,pVal)	\
    (This)->lpVtbl -> get_Exempt(This,pVal)

#define IMgaSimpleConnection_get_ChildObjects(This,pVal)	\
    (This)->lpVtbl -> get_ChildObjects(This,pVal)

#define IMgaSimpleConnection_get_ChildObjectByRelID(This,relid,pVal)	\
    (This)->lpVtbl -> get_ChildObjectByRelID(This,relid,pVal)

#define IMgaSimpleConnection_GetChildObjectByRelIDDisp(This,relid,pVal)	\
    (This)->lpVtbl -> GetChildObjectByRelIDDisp(This,relid,pVal)

#define IMgaSimpleConnection_get_ObjectByPath(This,path,pVal)	\
    (This)->lpVtbl -> get_ObjectByPath(This,path,pVal)

#define IMgaSimpleConnection_GetObjectByPathDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetObjectByPathDisp(This,path,pVal)

#define IMgaSimpleConnection_get_NthObjectByPath(This,n_th,path,pVal)	\
    (This)->lpVtbl -> get_NthObjectByPath(This,n_th,path,pVal)

#define IMgaSimpleConnection_GetNthObjectByPathDisp(This,n_th,path,pVal)	\
    (This)->lpVtbl -> GetNthObjectByPathDisp(This,n_th,path,pVal)

#define IMgaSimpleConnection_PutReadOnlyAccessWithPropagate(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccessWithPropagate(This,pReadOnly)

#define IMgaSimpleConnection_PutReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> PutReadOnlyAccess(This,pReadOnly)

#define IMgaSimpleConnection_HasReadOnlyAccess(This,pReadOnly)	\
    (This)->lpVtbl -> HasReadOnlyAccess(This,pReadOnly)

#define IMgaSimpleConnection_GetGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> GetGuid(This,l1,l2,l3,l4)

#define IMgaSimpleConnection_PutGuid(This,l1,l2,l3,l4)	\
    (This)->lpVtbl -> PutGuid(This,l1,l2,l3,l4)

#define IMgaSimpleConnection_GetGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> GetGuidDisp(This,guid_str)

#define IMgaSimpleConnection_PutGuidDisp(This,guid_str)	\
    (This)->lpVtbl -> PutGuidDisp(This,guid_str)


#define IMgaSimpleConnection_get_Meta(This,pVal)	\
    (This)->lpVtbl -> get_Meta(This,pVal)

#define IMgaSimpleConnection_get_MetaRole(This,pVal)	\
    (This)->lpVtbl -> get_MetaRole(This,pVal)

#define IMgaSimpleConnection_get_ParentModel(This,pVal)	\
    (This)->lpVtbl -> get_ParentModel(This,pVal)

#define IMgaSimpleConnection_get_ParentFolder(This,pVal)	\
    (This)->lpVtbl -> get_ParentFolder(This,pVal)

#define IMgaSimpleConnection_get_Parts(This,pVal)	\
    (This)->lpVtbl -> get_Parts(This,pVal)

#define IMgaSimpleConnection_get_Part(This,asp,pVal)	\
    (This)->lpVtbl -> get_Part(This,asp,pVal)

#define IMgaSimpleConnection_GetPartDisp(This,asp,pVal)	\
    (This)->lpVtbl -> GetPartDisp(This,asp,pVal)

#define IMgaSimpleConnection_get_PartByMetaPart(This,part,pVal)	\
    (This)->lpVtbl -> get_PartByMetaPart(This,part,pVal)

#define IMgaSimpleConnection_GetPartByMetaPartDisp(This,part,pVal)	\
    (This)->lpVtbl -> GetPartByMetaPartDisp(This,part,pVal)

#define IMgaSimpleConnection_get_Attributes(This,pVal)	\
    (This)->lpVtbl -> get_Attributes(This,pVal)

#define IMgaSimpleConnection_get_Attribute(This,meta,pVal)	\
    (This)->lpVtbl -> get_Attribute(This,meta,pVal)

#define IMgaSimpleConnection_GetAttributeDisp(This,meta,pVal)	\
    (This)->lpVtbl -> GetAttributeDisp(This,meta,pVal)

#define IMgaSimpleConnection_get_AttributeByName(This,name,pVal)	\
    (This)->lpVtbl -> get_AttributeByName(This,name,pVal)

#define IMgaSimpleConnection_put_AttributeByName(This,name,newval)	\
    (This)->lpVtbl -> put_AttributeByName(This,name,newval)

#define IMgaSimpleConnection_GetAttributeByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetAttributeByNameDisp(This,name,pVal)

#define IMgaSimpleConnection_SetAttributeByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetAttributeByNameDisp(This,name,newval)

#define IMgaSimpleConnection_get_StrAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_StrAttrByName(This,name,pVal)

#define IMgaSimpleConnection_put_StrAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_StrAttrByName(This,name,newval)

#define IMgaSimpleConnection_GetStrAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetStrAttrByNameDisp(This,name,pVal)

#define IMgaSimpleConnection_SetStrAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetStrAttrByNameDisp(This,name,newval)

#define IMgaSimpleConnection_get_IntAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_IntAttrByName(This,name,pVal)

#define IMgaSimpleConnection_put_IntAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_IntAttrByName(This,name,newval)

#define IMgaSimpleConnection_GetIntAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetIntAttrByNameDisp(This,name,pVal)

#define IMgaSimpleConnection_SetIntAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetIntAttrByNameDisp(This,name,newval)

#define IMgaSimpleConnection_get_FloatAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_FloatAttrByName(This,name,pVal)

#define IMgaSimpleConnection_put_FloatAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_FloatAttrByName(This,name,newval)

#define IMgaSimpleConnection_GetFloatAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetFloatAttrByNameDisp(This,name,pVal)

#define IMgaSimpleConnection_SetFloatAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetFloatAttrByNameDisp(This,name,newval)

#define IMgaSimpleConnection_get_BoolAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_BoolAttrByName(This,name,pVal)

#define IMgaSimpleConnection_put_BoolAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_BoolAttrByName(This,name,newval)

#define IMgaSimpleConnection_GetBoolAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetBoolAttrByNameDisp(This,name,pVal)

#define IMgaSimpleConnection_SetBoolAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetBoolAttrByNameDisp(This,name,newval)

#define IMgaSimpleConnection_get_RefAttrByName(This,name,pVal)	\
    (This)->lpVtbl -> get_RefAttrByName(This,name,pVal)

#define IMgaSimpleConnection_put_RefAttrByName(This,name,newval)	\
    (This)->lpVtbl -> put_RefAttrByName(This,name,newval)

#define IMgaSimpleConnection_GetRefAttrByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetRefAttrByNameDisp(This,name,pVal)

#define IMgaSimpleConnection_SetRefAttrByNameDisp(This,name,newval)	\
    (This)->lpVtbl -> SetRefAttrByNameDisp(This,name,newval)

#define IMgaSimpleConnection_ClearAttrByName(This,name)	\
    (This)->lpVtbl -> ClearAttrByName(This,name)

#define IMgaSimpleConnection_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaSimpleConnection_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaSimpleConnection_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaSimpleConnection_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaSimpleConnection_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaSimpleConnection_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaSimpleConnection_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaSimpleConnection_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaSimpleConnection_get_Constraints(This,includemeta,pVal)	\
    (This)->lpVtbl -> get_Constraints(This,includemeta,pVal)

#define IMgaSimpleConnection_GetConstraintsDisp(This,includemeta,pVal)	\
    (This)->lpVtbl -> GetConstraintsDisp(This,includemeta,pVal)

#define IMgaSimpleConnection_AddConstraint(This,constraint)	\
    (This)->lpVtbl -> AddConstraint(This,constraint)

#define IMgaSimpleConnection_DefineConstraint(This,name,mask,expr,nconstraint)	\
    (This)->lpVtbl -> DefineConstraint(This,name,mask,expr,nconstraint)

#define IMgaSimpleConnection_get_DerivedFrom(This,pVal)	\
    (This)->lpVtbl -> get_DerivedFrom(This,pVal)

#define IMgaSimpleConnection_get_DerivedObjects(This,pVal)	\
    (This)->lpVtbl -> get_DerivedObjects(This,pVal)

#define IMgaSimpleConnection_get_Type(This,pVal)	\
    (This)->lpVtbl -> get_Type(This,pVal)

#define IMgaSimpleConnection_get_BaseType(This,pVal)	\
    (This)->lpVtbl -> get_BaseType(This,pVal)

#define IMgaSimpleConnection_get_ArcheType(This,pVal)	\
    (This)->lpVtbl -> get_ArcheType(This,pVal)

#define IMgaSimpleConnection_get_IsInstance(This,pVal)	\
    (This)->lpVtbl -> get_IsInstance(This,pVal)

#define IMgaSimpleConnection_get_IsPrimaryDerived(This,pVal)	\
    (This)->lpVtbl -> get_IsPrimaryDerived(This,pVal)

#define IMgaSimpleConnection_AttachToArcheType(This,newtype,instance)	\
    (This)->lpVtbl -> AttachToArcheType(This,newtype,instance)

#define IMgaSimpleConnection_DetachFromArcheType(This)	\
    (This)->lpVtbl -> DetachFromArcheType(This)

#define IMgaSimpleConnection_GetAbsMetaPath(This,abspath)	\
    (This)->lpVtbl -> GetAbsMetaPath(This,abspath)

#define IMgaSimpleConnection_GetRelMetaPath(This,begfco,relpath,refs)	\
    (This)->lpVtbl -> GetRelMetaPath(This,begfco,relpath,refs)

#define IMgaSimpleConnection_get_PartOfConns(This,pVal)	\
    (This)->lpVtbl -> get_PartOfConns(This,pVal)

#define IMgaSimpleConnection_get_MemberOfSets(This,pVal)	\
    (This)->lpVtbl -> get_MemberOfSets(This,pVal)

#define IMgaSimpleConnection_get_ReferencedBy(This,pVal)	\
    (This)->lpVtbl -> get_ReferencedBy(This,pVal)

#define IMgaSimpleConnection_CreateCollection(This,pVal)	\
    (This)->lpVtbl -> CreateCollection(This,pVal)

#define IMgaSimpleConnection_get_RootFCO(This,pVal)	\
    (This)->lpVtbl -> get_RootFCO(This,pVal)


#define IMgaSimpleConnection_AddConnPoint(This,rolename,maxinrole,target,refs,pVal)	\
    (This)->lpVtbl -> AddConnPoint(This,rolename,maxinrole,target,refs,pVal)

#define IMgaSimpleConnection_get_ConnPoints(This,pVal)	\
    (This)->lpVtbl -> get_ConnPoints(This,pVal)

#define IMgaSimpleConnection_CompareToBase(This,connpoint,status)	\
    (This)->lpVtbl -> CompareToBase(This,connpoint,status)

#define IMgaSimpleConnection_RevertToBase(This,connpoint)	\
    (This)->lpVtbl -> RevertToBase(This,connpoint)


#define IMgaSimpleConnection_get_Src(This,pVal)	\
    (This)->lpVtbl -> get_Src(This,pVal)

#define IMgaSimpleConnection_get_Dst(This,pVal)	\
    (This)->lpVtbl -> get_Dst(This,pVal)

#define IMgaSimpleConnection_get_SrcReferences(This,pVal)	\
    (This)->lpVtbl -> get_SrcReferences(This,pVal)

#define IMgaSimpleConnection_get_DstReferences(This,pVal)	\
    (This)->lpVtbl -> get_DstReferences(This,pVal)

#define IMgaSimpleConnection_SetDst(This,references,target)	\
    (This)->lpVtbl -> SetDst(This,references,target)

#define IMgaSimpleConnection_SetSrc(This,references,target)	\
    (This)->lpVtbl -> SetSrc(This,references,target)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaSimpleConnection_get_Src_Proxy( 
    IMgaSimpleConnection * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaSimpleConnection_get_Src_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaSimpleConnection_get_Dst_Proxy( 
    IMgaSimpleConnection * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaSimpleConnection_get_Dst_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaSimpleConnection_get_SrcReferences_Proxy( 
    IMgaSimpleConnection * This,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaSimpleConnection_get_SrcReferences_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaSimpleConnection_get_DstReferences_Proxy( 
    IMgaSimpleConnection * This,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaSimpleConnection_get_DstReferences_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaSimpleConnection_SetDst_Proxy( 
    IMgaSimpleConnection * This,
    /* [in] */ IMgaFCOs *references,
    /* [in] */ IMgaFCO *target);


void __RPC_STUB IMgaSimpleConnection_SetDst_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaSimpleConnection_SetSrc_Proxy( 
    IMgaSimpleConnection * This,
    /* [in] */ IMgaFCOs *references,
    /* [in] */ IMgaFCO *target);


void __RPC_STUB IMgaSimpleConnection_SetSrc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaSimpleConnection_INTERFACE_DEFINED__ */


#ifndef __IMgaConnPoint_INTERFACE_DEFINED__
#define __IMgaConnPoint_INTERFACE_DEFINED__

/* interface IMgaConnPoint */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaConnPoint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cb8fa000-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaConnPoint : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Owner( 
            /* [retval][out] */ IMgaConnection **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ConnRole( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ConnRole( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Target( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_References( 
            /* [retval][out] */ IMgaFCOs **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaConnPointVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaConnPoint * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaConnPoint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaConnPoint * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaConnPoint * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaConnPoint * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaConnPoint * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaConnPoint * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Owner )( 
            IMgaConnPoint * This,
            /* [retval][out] */ IMgaConnection **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnRole )( 
            IMgaConnPoint * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConnRole )( 
            IMgaConnPoint * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Target )( 
            IMgaConnPoint * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_References )( 
            IMgaConnPoint * This,
            /* [retval][out] */ IMgaFCOs **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaConnPoint * This);
        
        END_INTERFACE
    } IMgaConnPointVtbl;

    interface IMgaConnPoint
    {
        CONST_VTBL struct IMgaConnPointVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaConnPoint_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaConnPoint_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaConnPoint_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaConnPoint_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaConnPoint_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaConnPoint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaConnPoint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaConnPoint_get_Owner(This,pVal)	\
    (This)->lpVtbl -> get_Owner(This,pVal)

#define IMgaConnPoint_get_ConnRole(This,pVal)	\
    (This)->lpVtbl -> get_ConnRole(This,pVal)

#define IMgaConnPoint_put_ConnRole(This,newVal)	\
    (This)->lpVtbl -> put_ConnRole(This,newVal)

#define IMgaConnPoint_get_Target(This,pVal)	\
    (This)->lpVtbl -> get_Target(This,pVal)

#define IMgaConnPoint_get_References(This,pVal)	\
    (This)->lpVtbl -> get_References(This,pVal)

#define IMgaConnPoint_Remove(This)	\
    (This)->lpVtbl -> Remove(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConnPoint_get_Owner_Proxy( 
    IMgaConnPoint * This,
    /* [retval][out] */ IMgaConnection **pVal);


void __RPC_STUB IMgaConnPoint_get_Owner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConnPoint_get_ConnRole_Proxy( 
    IMgaConnPoint * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaConnPoint_get_ConnRole_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaConnPoint_put_ConnRole_Proxy( 
    IMgaConnPoint * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaConnPoint_put_ConnRole_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConnPoint_get_Target_Proxy( 
    IMgaConnPoint * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaConnPoint_get_Target_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConnPoint_get_References_Proxy( 
    IMgaConnPoint * This,
    /* [retval][out] */ IMgaFCOs **pVal);


void __RPC_STUB IMgaConnPoint_get_References_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConnPoint_Remove_Proxy( 
    IMgaConnPoint * This);


void __RPC_STUB IMgaConnPoint_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaConnPoint_INTERFACE_DEFINED__ */


#ifndef __IMgaRegNode_INTERFACE_DEFINED__
#define __IMgaRegNode_INTERFACE_DEFINED__

/* interface IMgaRegNode */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaRegNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83BA323D-B758-11D3-ABAE-000000000000")
    IMgaRegNode : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FCOValue( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FCOValue( 
            /* [in] */ IMgaFCO *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SubNodes( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubNodesDisp( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SubNodeByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubNodeByNameDisp( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParentNode( 
            /* [retval][out] */ IMgaRegNode **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [out] */ long *status) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Opacity( 
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Opacity( 
            /* [in] */ VARIANT_BOOL p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveTree( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaRegNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaRegNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaRegNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaRegNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaRegNode * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaRegNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaRegNode * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaRegNode * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaRegNode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IMgaRegNode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IMgaRegNode * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            IMgaRegNode * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FCOValue )( 
            IMgaRegNode * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FCOValue )( 
            IMgaRegNode * This,
            /* [in] */ IMgaFCO *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubNodes )( 
            IMgaRegNode * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubNodesDisp )( 
            IMgaRegNode * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubNodeByName )( 
            IMgaRegNode * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubNodeByNameDisp )( 
            IMgaRegNode * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentNode )( 
            IMgaRegNode * This,
            /* [retval][out] */ IMgaRegNode **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaRegNode * This,
            /* [out] */ long *status);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Opacity )( 
            IMgaRegNode * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Opacity )( 
            IMgaRegNode * This,
            /* [in] */ VARIANT_BOOL p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IMgaRegNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveTree )( 
            IMgaRegNode * This);
        
        END_INTERFACE
    } IMgaRegNodeVtbl;

    interface IMgaRegNode
    {
        CONST_VTBL struct IMgaRegNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaRegNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaRegNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaRegNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaRegNode_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaRegNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaRegNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaRegNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaRegNode_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaRegNode_get_Path(This,pVal)	\
    (This)->lpVtbl -> get_Path(This,pVal)

#define IMgaRegNode_get_Value(This,pVal)	\
    (This)->lpVtbl -> get_Value(This,pVal)

#define IMgaRegNode_put_Value(This,newVal)	\
    (This)->lpVtbl -> put_Value(This,newVal)

#define IMgaRegNode_get_FCOValue(This,pVal)	\
    (This)->lpVtbl -> get_FCOValue(This,pVal)

#define IMgaRegNode_put_FCOValue(This,newVal)	\
    (This)->lpVtbl -> put_FCOValue(This,newVal)

#define IMgaRegNode_get_SubNodes(This,virtuals,p)	\
    (This)->lpVtbl -> get_SubNodes(This,virtuals,p)

#define IMgaRegNode_GetSubNodesDisp(This,virtuals,p)	\
    (This)->lpVtbl -> GetSubNodesDisp(This,virtuals,p)

#define IMgaRegNode_get_SubNodeByName(This,name,pVal)	\
    (This)->lpVtbl -> get_SubNodeByName(This,name,pVal)

#define IMgaRegNode_GetSubNodeByNameDisp(This,name,pVal)	\
    (This)->lpVtbl -> GetSubNodeByNameDisp(This,name,pVal)

#define IMgaRegNode_get_ParentNode(This,p)	\
    (This)->lpVtbl -> get_ParentNode(This,p)

#define IMgaRegNode_get_Status(This,status)	\
    (This)->lpVtbl -> get_Status(This,status)

#define IMgaRegNode_get_Opacity(This,p)	\
    (This)->lpVtbl -> get_Opacity(This,p)

#define IMgaRegNode_put_Opacity(This,p)	\
    (This)->lpVtbl -> put_Opacity(This,p)

#define IMgaRegNode_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IMgaRegNode_RemoveTree(This)	\
    (This)->lpVtbl -> RemoveTree(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_get_Name_Proxy( 
    IMgaRegNode * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaRegNode_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_get_Path_Proxy( 
    IMgaRegNode * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaRegNode_get_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_get_Value_Proxy( 
    IMgaRegNode * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaRegNode_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_put_Value_Proxy( 
    IMgaRegNode * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaRegNode_put_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_get_FCOValue_Proxy( 
    IMgaRegNode * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaRegNode_get_FCOValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_put_FCOValue_Proxy( 
    IMgaRegNode * This,
    /* [in] */ IMgaFCO *newVal);


void __RPC_STUB IMgaRegNode_put_FCOValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_get_SubNodes_Proxy( 
    IMgaRegNode * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **p);


void __RPC_STUB IMgaRegNode_get_SubNodes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_GetSubNodesDisp_Proxy( 
    IMgaRegNode * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **p);


void __RPC_STUB IMgaRegNode_GetSubNodesDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_get_SubNodeByName_Proxy( 
    IMgaRegNode * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaRegNode_get_SubNodeByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_GetSubNodeByNameDisp_Proxy( 
    IMgaRegNode * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaRegNode_GetSubNodeByNameDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_get_ParentNode_Proxy( 
    IMgaRegNode * This,
    /* [retval][out] */ IMgaRegNode **p);


void __RPC_STUB IMgaRegNode_get_ParentNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_get_Status_Proxy( 
    IMgaRegNode * This,
    /* [out] */ long *status);


void __RPC_STUB IMgaRegNode_get_Status_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_get_Opacity_Proxy( 
    IMgaRegNode * This,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaRegNode_get_Opacity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_put_Opacity_Proxy( 
    IMgaRegNode * This,
    /* [in] */ VARIANT_BOOL p);


void __RPC_STUB IMgaRegNode_put_Opacity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_Clear_Proxy( 
    IMgaRegNode * This);


void __RPC_STUB IMgaRegNode_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegNode_RemoveTree_Proxy( 
    IMgaRegNode * This);


void __RPC_STUB IMgaRegNode_RemoveTree_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaRegNode_INTERFACE_DEFINED__ */


#ifndef __IMgaFilter_INTERFACE_DEFINED__
#define __IMgaFilter_INTERFACE_DEFINED__

/* interface IMgaFilter */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8f6e970-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaFilter : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Kind( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Role( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Role( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ObjType( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ObjType( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Level( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Level( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Project( 
            /* [retval][out] */ IMgaProject **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaFilterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaFilter * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaFilter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaFilter * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaFilter * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaFilter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaFilter * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaFilter * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMgaFilter * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMgaFilter * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IMgaFilter * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Kind )( 
            IMgaFilter * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Role )( 
            IMgaFilter * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Role )( 
            IMgaFilter * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjType )( 
            IMgaFilter * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObjType )( 
            IMgaFilter * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Level )( 
            IMgaFilter * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Level )( 
            IMgaFilter * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaFilter * This,
            /* [retval][out] */ IMgaProject **pVal);
        
        END_INTERFACE
    } IMgaFilterVtbl;

    interface IMgaFilter
    {
        CONST_VTBL struct IMgaFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaFilter_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaFilter_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaFilter_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaFilter_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaFilter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaFilter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaFilter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaFilter_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IMgaFilter_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IMgaFilter_get_Kind(This,pVal)	\
    (This)->lpVtbl -> get_Kind(This,pVal)

#define IMgaFilter_put_Kind(This,newVal)	\
    (This)->lpVtbl -> put_Kind(This,newVal)

#define IMgaFilter_get_Role(This,pVal)	\
    (This)->lpVtbl -> get_Role(This,pVal)

#define IMgaFilter_put_Role(This,newVal)	\
    (This)->lpVtbl -> put_Role(This,newVal)

#define IMgaFilter_get_ObjType(This,pVal)	\
    (This)->lpVtbl -> get_ObjType(This,pVal)

#define IMgaFilter_put_ObjType(This,newVal)	\
    (This)->lpVtbl -> put_ObjType(This,newVal)

#define IMgaFilter_get_Level(This,pVal)	\
    (This)->lpVtbl -> get_Level(This,pVal)

#define IMgaFilter_put_Level(This,newVal)	\
    (This)->lpVtbl -> put_Level(This,newVal)

#define IMgaFilter_get_Project(This,pVal)	\
    (This)->lpVtbl -> get_Project(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFilter_get_Name_Proxy( 
    IMgaFilter * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFilter_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFilter_put_Name_Proxy( 
    IMgaFilter * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaFilter_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFilter_get_Kind_Proxy( 
    IMgaFilter * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFilter_get_Kind_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFilter_put_Kind_Proxy( 
    IMgaFilter * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaFilter_put_Kind_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFilter_get_Role_Proxy( 
    IMgaFilter * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFilter_get_Role_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFilter_put_Role_Proxy( 
    IMgaFilter * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaFilter_put_Role_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFilter_get_ObjType_Proxy( 
    IMgaFilter * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFilter_get_ObjType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFilter_put_ObjType_Proxy( 
    IMgaFilter * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaFilter_put_ObjType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFilter_get_Level_Proxy( 
    IMgaFilter * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaFilter_get_Level_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaFilter_put_Level_Proxy( 
    IMgaFilter * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaFilter_put_Level_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFilter_get_Project_Proxy( 
    IMgaFilter * This,
    /* [retval][out] */ IMgaProject **pVal);


void __RPC_STUB IMgaFilter_get_Project_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaFilter_INTERFACE_DEFINED__ */


#ifndef __IMgaAttribute_INTERFACE_DEFINED__
#define __IMgaAttribute_INTERFACE_DEFINED__

/* interface IMgaAttribute */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaAttribute;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CBF20084-BD43-11D3-9AD2-00AA00B6FE26")
    IMgaAttribute : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Meta( 
            /* [retval][out] */ IMgaMetaAttribute **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Owner( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ long *status) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OrigValue( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HasChanged( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StringValue( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_StringValue( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IntValue( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_IntValue( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BoolValue( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BoolValue( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FloatValue( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FloatValue( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FCOValue( 
            /* [retval][out] */ IMgaFCO **pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FCOValue( 
            /* [in] */ IMgaFCO *newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryNode( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryNodeDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Registry( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryDisp( 
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryValue( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RegistryValue( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRegistryValueDisp( 
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaAttributeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaAttribute * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaAttribute * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaAttribute * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaAttribute * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaAttribute * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaAttribute * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaAttribute * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Meta )( 
            IMgaAttribute * This,
            /* [retval][out] */ IMgaMetaAttribute **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IMgaAttribute * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            IMgaAttribute * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Owner )( 
            IMgaAttribute * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IMgaAttribute * This,
            /* [retval][out] */ long *status);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OrigValue )( 
            IMgaAttribute * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasChanged )( 
            IMgaAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StringValue )( 
            IMgaAttribute * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StringValue )( 
            IMgaAttribute * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntValue )( 
            IMgaAttribute * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntValue )( 
            IMgaAttribute * This,
            /* [in] */ long newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoolValue )( 
            IMgaAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoolValue )( 
            IMgaAttribute * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloatValue )( 
            IMgaAttribute * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FloatValue )( 
            IMgaAttribute * This,
            /* [in] */ double newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FCOValue )( 
            IMgaAttribute * This,
            /* [retval][out] */ IMgaFCO **pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FCOValue )( 
            IMgaAttribute * This,
            /* [in] */ IMgaFCO *newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryNode )( 
            IMgaAttribute * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryNodeDisp )( 
            IMgaAttribute * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ IMgaRegNode **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registry )( 
            IMgaAttribute * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryDisp )( 
            IMgaAttribute * This,
            /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
            /* [retval][out] */ IMgaRegNodes **pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryValue )( 
            IMgaAttribute * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegistryValue )( 
            IMgaAttribute * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRegistryValueDisp )( 
            IMgaAttribute * This,
            /* [in] */ BSTR path,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRegistryValueDisp )( 
            IMgaAttribute * This,
            /* [in] */ BSTR path,
            /* [in] */ BSTR newval);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IMgaAttribute * This);
        
        END_INTERFACE
    } IMgaAttributeVtbl;

    interface IMgaAttribute
    {
        CONST_VTBL struct IMgaAttributeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaAttribute_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaAttribute_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaAttribute_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaAttribute_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaAttribute_get_Meta(This,pVal)	\
    (This)->lpVtbl -> get_Meta(This,pVal)

#define IMgaAttribute_get_Value(This,pVal)	\
    (This)->lpVtbl -> get_Value(This,pVal)

#define IMgaAttribute_put_Value(This,newVal)	\
    (This)->lpVtbl -> put_Value(This,newVal)

#define IMgaAttribute_get_Owner(This,pVal)	\
    (This)->lpVtbl -> get_Owner(This,pVal)

#define IMgaAttribute_get_Status(This,status)	\
    (This)->lpVtbl -> get_Status(This,status)

#define IMgaAttribute_get_OrigValue(This,pVal)	\
    (This)->lpVtbl -> get_OrigValue(This,pVal)

#define IMgaAttribute_get_HasChanged(This,pVal)	\
    (This)->lpVtbl -> get_HasChanged(This,pVal)

#define IMgaAttribute_get_StringValue(This,pVal)	\
    (This)->lpVtbl -> get_StringValue(This,pVal)

#define IMgaAttribute_put_StringValue(This,newVal)	\
    (This)->lpVtbl -> put_StringValue(This,newVal)

#define IMgaAttribute_get_IntValue(This,pVal)	\
    (This)->lpVtbl -> get_IntValue(This,pVal)

#define IMgaAttribute_put_IntValue(This,newVal)	\
    (This)->lpVtbl -> put_IntValue(This,newVal)

#define IMgaAttribute_get_BoolValue(This,pVal)	\
    (This)->lpVtbl -> get_BoolValue(This,pVal)

#define IMgaAttribute_put_BoolValue(This,newVal)	\
    (This)->lpVtbl -> put_BoolValue(This,newVal)

#define IMgaAttribute_get_FloatValue(This,pVal)	\
    (This)->lpVtbl -> get_FloatValue(This,pVal)

#define IMgaAttribute_put_FloatValue(This,newVal)	\
    (This)->lpVtbl -> put_FloatValue(This,newVal)

#define IMgaAttribute_get_FCOValue(This,pVal)	\
    (This)->lpVtbl -> get_FCOValue(This,pVal)

#define IMgaAttribute_put_FCOValue(This,newVal)	\
    (This)->lpVtbl -> put_FCOValue(This,newVal)

#define IMgaAttribute_get_RegistryNode(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryNode(This,path,pVal)

#define IMgaAttribute_GetRegistryNodeDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryNodeDisp(This,path,pVal)

#define IMgaAttribute_get_Registry(This,virtuals,pVal)	\
    (This)->lpVtbl -> get_Registry(This,virtuals,pVal)

#define IMgaAttribute_GetRegistryDisp(This,virtuals,pVal)	\
    (This)->lpVtbl -> GetRegistryDisp(This,virtuals,pVal)

#define IMgaAttribute_get_RegistryValue(This,path,pVal)	\
    (This)->lpVtbl -> get_RegistryValue(This,path,pVal)

#define IMgaAttribute_put_RegistryValue(This,path,newval)	\
    (This)->lpVtbl -> put_RegistryValue(This,path,newval)

#define IMgaAttribute_GetRegistryValueDisp(This,path,pVal)	\
    (This)->lpVtbl -> GetRegistryValueDisp(This,path,pVal)

#define IMgaAttribute_SetRegistryValueDisp(This,path,newval)	\
    (This)->lpVtbl -> SetRegistryValueDisp(This,path,newval)

#define IMgaAttribute_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_Meta_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ IMgaMetaAttribute **pVal);


void __RPC_STUB IMgaAttribute_get_Meta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_Value_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IMgaAttribute_get_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_put_Value_Proxy( 
    IMgaAttribute * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IMgaAttribute_put_Value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_Owner_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaAttribute_get_Owner_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_Status_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ long *status);


void __RPC_STUB IMgaAttribute_get_Status_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_OrigValue_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IMgaAttribute_get_OrigValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_HasChanged_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaAttribute_get_HasChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_StringValue_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaAttribute_get_StringValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_put_StringValue_Proxy( 
    IMgaAttribute * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaAttribute_put_StringValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_IntValue_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB IMgaAttribute_get_IntValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_put_IntValue_Proxy( 
    IMgaAttribute * This,
    /* [in] */ long newVal);


void __RPC_STUB IMgaAttribute_put_IntValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_BoolValue_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IMgaAttribute_get_BoolValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_put_BoolValue_Proxy( 
    IMgaAttribute * This,
    /* [in] */ VARIANT_BOOL newVal);


void __RPC_STUB IMgaAttribute_put_BoolValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_FloatValue_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ double *pVal);


void __RPC_STUB IMgaAttribute_get_FloatValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_put_FloatValue_Proxy( 
    IMgaAttribute * This,
    /* [in] */ double newVal);


void __RPC_STUB IMgaAttribute_put_FloatValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_FCOValue_Proxy( 
    IMgaAttribute * This,
    /* [retval][out] */ IMgaFCO **pVal);


void __RPC_STUB IMgaAttribute_get_FCOValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_put_FCOValue_Proxy( 
    IMgaAttribute * This,
    /* [in] */ IMgaFCO *newVal);


void __RPC_STUB IMgaAttribute_put_FCOValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_RegistryNode_Proxy( 
    IMgaAttribute * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaAttribute_get_RegistryNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_GetRegistryNodeDisp_Proxy( 
    IMgaAttribute * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ IMgaRegNode **pVal);


void __RPC_STUB IMgaAttribute_GetRegistryNodeDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_Registry_Proxy( 
    IMgaAttribute * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **pVal);


void __RPC_STUB IMgaAttribute_get_Registry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_GetRegistryDisp_Proxy( 
    IMgaAttribute * This,
    /* [defaultvalue][in] */ VARIANT_BOOL virtuals,
    /* [retval][out] */ IMgaRegNodes **pVal);


void __RPC_STUB IMgaAttribute_GetRegistryDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_get_RegistryValue_Proxy( 
    IMgaAttribute * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaAttribute_get_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_put_RegistryValue_Proxy( 
    IMgaAttribute * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaAttribute_put_RegistryValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_GetRegistryValueDisp_Proxy( 
    IMgaAttribute * This,
    /* [in] */ BSTR path,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaAttribute_GetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_SetRegistryValueDisp_Proxy( 
    IMgaAttribute * This,
    /* [in] */ BSTR path,
    /* [in] */ BSTR newval);


void __RPC_STUB IMgaAttribute_SetRegistryValueDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttribute_Clear_Proxy( 
    IMgaAttribute * This);


void __RPC_STUB IMgaAttribute_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaAttribute_INTERFACE_DEFINED__ */


#ifndef __IMgaFolders_INTERFACE_DEFINED__
#define __IMgaFolders_INTERFACE_DEFINED__

/* interface IMgaFolders */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaFolders;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c59c2210-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaFolders : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaFolder **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaFolder **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaFolder *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaFolder *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaFolder *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaFoldersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaFolders * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaFolders * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaFolders * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaFolders * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaFolders * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaFolders * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaFolders * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaFolders * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaFolders * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaFolder **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaFolders * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaFolders * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaFolder **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaFolders * This,
            /* [in] */ IMgaFolder *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaFolders * This,
            /* [in] */ IMgaFolder *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaFolders * This,
            /* [in] */ IMgaFolder *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaFolders * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaFoldersVtbl;

    interface IMgaFolders
    {
        CONST_VTBL struct IMgaFoldersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaFolders_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaFolders_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaFolders_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaFolders_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaFolders_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaFolders_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaFolders_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaFolders_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaFolders_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaFolders_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaFolders_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaFolders_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaFolders_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaFolders_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaFolders_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFolders_get_Count_Proxy( 
    IMgaFolders * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaFolders_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaFolders_get_Item_Proxy( 
    IMgaFolders * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaFolder **p);


void __RPC_STUB IMgaFolders_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaFolders_get__NewEnum_Proxy( 
    IMgaFolders * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaFolders_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolders_GetAll_Proxy( 
    IMgaFolders * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaFolder **p);


void __RPC_STUB IMgaFolders_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolders_Insert_Proxy( 
    IMgaFolders * This,
    /* [in] */ IMgaFolder *p,
    /* [in] */ long at);


void __RPC_STUB IMgaFolders_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolders_Append_Proxy( 
    IMgaFolders * This,
    /* [in] */ IMgaFolder *p);


void __RPC_STUB IMgaFolders_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolders_Find_Proxy( 
    IMgaFolders * This,
    /* [in] */ IMgaFolder *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaFolders_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFolders_Remove_Proxy( 
    IMgaFolders * This,
    /* [in] */ long n);


void __RPC_STUB IMgaFolders_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaFolders_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0318 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaFolders>
{ typedef IMgaFolders collection_type; typedef IMgaFolder element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaFolder>
{ typedef IMgaFolders collection_type; typedef IMgaFolder element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0318_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0318_v0_0_s_ifspec;

#ifndef __IMgaFCOs_INTERFACE_DEFINED__
#define __IMgaFCOs_INTERFACE_DEFINED__

/* interface IMgaFCOs */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaFCOs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c5f4c2f0-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaFCOs : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaFCO **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaFCO **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaFCO *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaFCO *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaFCO *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaFCOsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaFCOs * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaFCOs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaFCOs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaFCOs * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaFCOs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaFCOs * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaFCOs * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaFCOs * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaFCOs * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaFCO **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaFCOs * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaFCOs * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaFCO **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaFCOs * This,
            /* [in] */ IMgaFCO *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaFCOs * This,
            /* [in] */ IMgaFCO *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaFCOs * This,
            /* [in] */ IMgaFCO *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaFCOs * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaFCOsVtbl;

    interface IMgaFCOs
    {
        CONST_VTBL struct IMgaFCOsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaFCOs_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaFCOs_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaFCOs_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaFCOs_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaFCOs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaFCOs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaFCOs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaFCOs_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaFCOs_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaFCOs_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaFCOs_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaFCOs_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaFCOs_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaFCOs_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaFCOs_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCOs_get_Count_Proxy( 
    IMgaFCOs * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaFCOs_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCOs_get_Item_Proxy( 
    IMgaFCOs * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaFCO **p);


void __RPC_STUB IMgaFCOs_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaFCOs_get__NewEnum_Proxy( 
    IMgaFCOs * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaFCOs_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCOs_GetAll_Proxy( 
    IMgaFCOs * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaFCO **p);


void __RPC_STUB IMgaFCOs_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCOs_Insert_Proxy( 
    IMgaFCOs * This,
    /* [in] */ IMgaFCO *p,
    /* [in] */ long at);


void __RPC_STUB IMgaFCOs_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCOs_Append_Proxy( 
    IMgaFCOs * This,
    /* [in] */ IMgaFCO *p);


void __RPC_STUB IMgaFCOs_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCOs_Find_Proxy( 
    IMgaFCOs * This,
    /* [in] */ IMgaFCO *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaFCOs_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaFCOs_Remove_Proxy( 
    IMgaFCOs * This,
    /* [in] */ long n);


void __RPC_STUB IMgaFCOs_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaFCOs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0319 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaFCOs>
{ typedef IMgaFCOs collection_type; typedef IMgaFCO element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaFCO>
{ typedef IMgaFCOs collection_type; typedef IMgaFCO element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0319_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0319_v0_0_s_ifspec;

#ifndef __IMgaAttributes_INTERFACE_DEFINED__
#define __IMgaAttributes_INTERFACE_DEFINED__

/* interface IMgaAttributes */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaAttributes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c6f3f340-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaAttributes : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaAttribute **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaAttribute **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaAttribute *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaAttribute *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaAttribute *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaAttributesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaAttributes * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaAttributes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaAttributes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaAttributes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaAttributes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaAttributes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaAttributes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaAttributes * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaAttributes * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaAttribute **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaAttributes * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaAttributes * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaAttributes * This,
            /* [in] */ IMgaAttribute *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaAttributes * This,
            /* [in] */ IMgaAttribute *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaAttributes * This,
            /* [in] */ IMgaAttribute *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaAttributes * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaAttributesVtbl;

    interface IMgaAttributes
    {
        CONST_VTBL struct IMgaAttributesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaAttributes_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaAttributes_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaAttributes_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaAttributes_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaAttributes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaAttributes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaAttributes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaAttributes_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaAttributes_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaAttributes_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaAttributes_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaAttributes_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaAttributes_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaAttributes_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaAttributes_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttributes_get_Count_Proxy( 
    IMgaAttributes * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaAttributes_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttributes_get_Item_Proxy( 
    IMgaAttributes * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaAttribute **p);


void __RPC_STUB IMgaAttributes_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaAttributes_get__NewEnum_Proxy( 
    IMgaAttributes * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaAttributes_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttributes_GetAll_Proxy( 
    IMgaAttributes * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaAttribute **p);


void __RPC_STUB IMgaAttributes_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttributes_Insert_Proxy( 
    IMgaAttributes * This,
    /* [in] */ IMgaAttribute *p,
    /* [in] */ long at);


void __RPC_STUB IMgaAttributes_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttributes_Append_Proxy( 
    IMgaAttributes * This,
    /* [in] */ IMgaAttribute *p);


void __RPC_STUB IMgaAttributes_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttributes_Find_Proxy( 
    IMgaAttributes * This,
    /* [in] */ IMgaAttribute *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaAttributes_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAttributes_Remove_Proxy( 
    IMgaAttributes * This,
    /* [in] */ long n);


void __RPC_STUB IMgaAttributes_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaAttributes_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0320 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaAttributes>
{ typedef IMgaAttributes collection_type; typedef IMgaAttribute element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaAttribute>
{ typedef IMgaAttributes collection_type; typedef IMgaAttribute element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0320_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0320_v0_0_s_ifspec;

#ifndef __IMgaParts_INTERFACE_DEFINED__
#define __IMgaParts_INTERFACE_DEFINED__

/* interface IMgaParts */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaParts;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c71a26f0-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaParts : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaPart **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaPart **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaPart *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaPart *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaPart *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaPartsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaParts * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaParts * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaParts * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaParts * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaParts * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaParts * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaParts * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaParts * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaParts * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaPart **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaParts * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaParts * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaPart **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaParts * This,
            /* [in] */ IMgaPart *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaParts * This,
            /* [in] */ IMgaPart *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaParts * This,
            /* [in] */ IMgaPart *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaParts * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaPartsVtbl;

    interface IMgaParts
    {
        CONST_VTBL struct IMgaPartsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaParts_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaParts_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaParts_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaParts_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaParts_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaParts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaParts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaParts_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaParts_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaParts_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaParts_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaParts_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaParts_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaParts_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaParts_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaParts_get_Count_Proxy( 
    IMgaParts * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaParts_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaParts_get_Item_Proxy( 
    IMgaParts * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaPart **p);


void __RPC_STUB IMgaParts_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaParts_get__NewEnum_Proxy( 
    IMgaParts * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaParts_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParts_GetAll_Proxy( 
    IMgaParts * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaPart **p);


void __RPC_STUB IMgaParts_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParts_Insert_Proxy( 
    IMgaParts * This,
    /* [in] */ IMgaPart *p,
    /* [in] */ long at);


void __RPC_STUB IMgaParts_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParts_Append_Proxy( 
    IMgaParts * This,
    /* [in] */ IMgaPart *p);


void __RPC_STUB IMgaParts_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParts_Find_Proxy( 
    IMgaParts * This,
    /* [in] */ IMgaPart *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaParts_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParts_Remove_Proxy( 
    IMgaParts * This,
    /* [in] */ long n);


void __RPC_STUB IMgaParts_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaParts_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0321 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaParts>
{ typedef IMgaParts collection_type; typedef IMgaPart element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaPart>
{ typedef IMgaParts collection_type; typedef IMgaPart element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0321_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0321_v0_0_s_ifspec;

#ifndef __IMgaConnPoints_INTERFACE_DEFINED__
#define __IMgaConnPoints_INTERFACE_DEFINED__

/* interface IMgaConnPoints */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaConnPoints;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c7f19c60-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaConnPoints : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaConnPoint **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaConnPoint **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaConnPoint *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaConnPoint *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaConnPoint *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaConnPointsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaConnPoints * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaConnPoints * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaConnPoints * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaConnPoints * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaConnPoints * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaConnPoints * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaConnPoints * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaConnPoints * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaConnPoints * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaConnPoint **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaConnPoints * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaConnPoints * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaConnPoint **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaConnPoints * This,
            /* [in] */ IMgaConnPoint *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaConnPoints * This,
            /* [in] */ IMgaConnPoint *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaConnPoints * This,
            /* [in] */ IMgaConnPoint *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaConnPoints * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaConnPointsVtbl;

    interface IMgaConnPoints
    {
        CONST_VTBL struct IMgaConnPointsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaConnPoints_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaConnPoints_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaConnPoints_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaConnPoints_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaConnPoints_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaConnPoints_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaConnPoints_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaConnPoints_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaConnPoints_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaConnPoints_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaConnPoints_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaConnPoints_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaConnPoints_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaConnPoints_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaConnPoints_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaConnPoints_get_Count_Proxy( 
    IMgaConnPoints * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaConnPoints_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaConnPoints_get_Item_Proxy( 
    IMgaConnPoints * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaConnPoint **p);


void __RPC_STUB IMgaConnPoints_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaConnPoints_get__NewEnum_Proxy( 
    IMgaConnPoints * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaConnPoints_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConnPoints_GetAll_Proxy( 
    IMgaConnPoints * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaConnPoint **p);


void __RPC_STUB IMgaConnPoints_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConnPoints_Insert_Proxy( 
    IMgaConnPoints * This,
    /* [in] */ IMgaConnPoint *p,
    /* [in] */ long at);


void __RPC_STUB IMgaConnPoints_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConnPoints_Append_Proxy( 
    IMgaConnPoints * This,
    /* [in] */ IMgaConnPoint *p);


void __RPC_STUB IMgaConnPoints_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConnPoints_Find_Proxy( 
    IMgaConnPoints * This,
    /* [in] */ IMgaConnPoint *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaConnPoints_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaConnPoints_Remove_Proxy( 
    IMgaConnPoints * This,
    /* [in] */ long n);


void __RPC_STUB IMgaConnPoints_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaConnPoints_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0322 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaConnPoints>
{ typedef IMgaConnPoints collection_type; typedef IMgaConnPoint element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaConnPoint>
{ typedef IMgaConnPoints collection_type; typedef IMgaConnPoint element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0322_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0322_v0_0_s_ifspec;

#ifndef __IMgaRegNodes_INTERFACE_DEFINED__
#define __IMgaRegNodes_INTERFACE_DEFINED__

/* interface IMgaRegNodes */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaRegNodes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c79f1840-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaRegNodes : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaRegNode **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaRegNode **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaRegNode *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaRegNode *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaRegNode *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaRegNodesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaRegNodes * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaRegNodes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaRegNodes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaRegNodes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaRegNodes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaRegNodes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaRegNodes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaRegNodes * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaRegNodes * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaRegNode **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaRegNodes * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaRegNodes * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaRegNode **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaRegNodes * This,
            /* [in] */ IMgaRegNode *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaRegNodes * This,
            /* [in] */ IMgaRegNode *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaRegNodes * This,
            /* [in] */ IMgaRegNode *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaRegNodes * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaRegNodesVtbl;

    interface IMgaRegNodes
    {
        CONST_VTBL struct IMgaRegNodesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaRegNodes_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaRegNodes_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaRegNodes_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaRegNodes_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaRegNodes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaRegNodes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaRegNodes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaRegNodes_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaRegNodes_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaRegNodes_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaRegNodes_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaRegNodes_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaRegNodes_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaRegNodes_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaRegNodes_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNodes_get_Count_Proxy( 
    IMgaRegNodes * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaRegNodes_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNodes_get_Item_Proxy( 
    IMgaRegNodes * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaRegNode **p);


void __RPC_STUB IMgaRegNodes_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegNodes_get__NewEnum_Proxy( 
    IMgaRegNodes * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaRegNodes_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegNodes_GetAll_Proxy( 
    IMgaRegNodes * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaRegNode **p);


void __RPC_STUB IMgaRegNodes_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegNodes_Insert_Proxy( 
    IMgaRegNodes * This,
    /* [in] */ IMgaRegNode *p,
    /* [in] */ long at);


void __RPC_STUB IMgaRegNodes_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegNodes_Append_Proxy( 
    IMgaRegNodes * This,
    /* [in] */ IMgaRegNode *p);


void __RPC_STUB IMgaRegNodes_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegNodes_Find_Proxy( 
    IMgaRegNodes * This,
    /* [in] */ IMgaRegNode *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaRegNodes_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegNodes_Remove_Proxy( 
    IMgaRegNodes * This,
    /* [in] */ long n);


void __RPC_STUB IMgaRegNodes_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaRegNodes_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0323 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaRegNodes>
{ typedef IMgaRegNodes collection_type; typedef IMgaRegNode element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaRegNode>
{ typedef IMgaRegNodes collection_type; typedef IMgaRegNode element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0323_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0323_v0_0_s_ifspec;

#ifndef __IMgaAddOns_INTERFACE_DEFINED__
#define __IMgaAddOns_INTERFACE_DEFINED__

/* interface IMgaAddOns */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaAddOns;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8a5ec80-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaAddOns : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaAddOn **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaAddOn **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaAddOn *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaAddOn *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaAddOn *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaAddOnsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaAddOns * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaAddOns * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaAddOns * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaAddOns * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaAddOns * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaAddOns * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaAddOns * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaAddOns * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaAddOns * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaAddOn **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaAddOns * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaAddOns * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaAddOn **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaAddOns * This,
            /* [in] */ IMgaAddOn *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaAddOns * This,
            /* [in] */ IMgaAddOn *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaAddOns * This,
            /* [in] */ IMgaAddOn *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaAddOns * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaAddOnsVtbl;

    interface IMgaAddOns
    {
        CONST_VTBL struct IMgaAddOnsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaAddOns_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaAddOns_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaAddOns_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaAddOns_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaAddOns_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaAddOns_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaAddOns_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaAddOns_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaAddOns_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaAddOns_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaAddOns_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaAddOns_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaAddOns_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaAddOns_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaAddOns_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaAddOns_get_Count_Proxy( 
    IMgaAddOns * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaAddOns_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaAddOns_get_Item_Proxy( 
    IMgaAddOns * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaAddOn **p);


void __RPC_STUB IMgaAddOns_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaAddOns_get__NewEnum_Proxy( 
    IMgaAddOns * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaAddOns_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAddOns_GetAll_Proxy( 
    IMgaAddOns * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaAddOn **p);


void __RPC_STUB IMgaAddOns_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAddOns_Insert_Proxy( 
    IMgaAddOns * This,
    /* [in] */ IMgaAddOn *p,
    /* [in] */ long at);


void __RPC_STUB IMgaAddOns_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAddOns_Append_Proxy( 
    IMgaAddOns * This,
    /* [in] */ IMgaAddOn *p);


void __RPC_STUB IMgaAddOns_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAddOns_Find_Proxy( 
    IMgaAddOns * This,
    /* [in] */ IMgaAddOn *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaAddOns_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaAddOns_Remove_Proxy( 
    IMgaAddOns * This,
    /* [in] */ long n);


void __RPC_STUB IMgaAddOns_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaAddOns_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0324 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaAddOns>
{ typedef IMgaAddOns collection_type; typedef IMgaAddOn element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaAddOn>
{ typedef IMgaAddOns collection_type; typedef IMgaAddOn element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0324_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0324_v0_0_s_ifspec;

#ifndef __IMgaTerritories_INTERFACE_DEFINED__
#define __IMgaTerritories_INTERFACE_DEFINED__

/* interface IMgaTerritories */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaTerritories;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c87caa70-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaTerritories : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaTerritory **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaTerritory **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaTerritory *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaTerritory *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaTerritory *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaTerritoriesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaTerritories * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaTerritories * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaTerritories * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaTerritories * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaTerritories * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaTerritories * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaTerritories * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaTerritories * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaTerritories * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaTerritory **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaTerritories * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaTerritories * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaTerritory **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaTerritories * This,
            /* [in] */ IMgaTerritory *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaTerritories * This,
            /* [in] */ IMgaTerritory *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaTerritories * This,
            /* [in] */ IMgaTerritory *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaTerritories * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaTerritoriesVtbl;

    interface IMgaTerritories
    {
        CONST_VTBL struct IMgaTerritoriesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaTerritories_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaTerritories_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaTerritories_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaTerritories_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaTerritories_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaTerritories_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaTerritories_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaTerritories_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaTerritories_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaTerritories_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaTerritories_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaTerritories_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaTerritories_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaTerritories_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaTerritories_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaTerritories_get_Count_Proxy( 
    IMgaTerritories * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaTerritories_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaTerritories_get_Item_Proxy( 
    IMgaTerritories * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaTerritory **p);


void __RPC_STUB IMgaTerritories_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaTerritories_get__NewEnum_Proxy( 
    IMgaTerritories * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaTerritories_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritories_GetAll_Proxy( 
    IMgaTerritories * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaTerritory **p);


void __RPC_STUB IMgaTerritories_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritories_Insert_Proxy( 
    IMgaTerritories * This,
    /* [in] */ IMgaTerritory *p,
    /* [in] */ long at);


void __RPC_STUB IMgaTerritories_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritories_Append_Proxy( 
    IMgaTerritories * This,
    /* [in] */ IMgaTerritory *p);


void __RPC_STUB IMgaTerritories_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritories_Find_Proxy( 
    IMgaTerritories * This,
    /* [in] */ IMgaTerritory *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaTerritories_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaTerritories_Remove_Proxy( 
    IMgaTerritories * This,
    /* [in] */ long n);


void __RPC_STUB IMgaTerritories_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaTerritories_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0325 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaTerritories>
{ typedef IMgaTerritories collection_type; typedef IMgaTerritory element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaTerritory>
{ typedef IMgaTerritories collection_type; typedef IMgaTerritory element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0325_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0325_v0_0_s_ifspec;

#ifndef __IMgaComponents_INTERFACE_DEFINED__
#define __IMgaComponents_INTERFACE_DEFINED__

/* interface IMgaComponents */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaComponents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8cda760-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaComponents : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaComponent **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaComponent **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaComponent *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaComponent *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaComponent *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaComponentsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaComponents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaComponents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaComponents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaComponents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaComponents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaComponents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaComponents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaComponents * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaComponents * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaComponent **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaComponents * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaComponents * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaComponent **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaComponents * This,
            /* [in] */ IMgaComponent *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaComponents * This,
            /* [in] */ IMgaComponent *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaComponents * This,
            /* [in] */ IMgaComponent *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaComponents * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaComponentsVtbl;

    interface IMgaComponents
    {
        CONST_VTBL struct IMgaComponentsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaComponents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaComponents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaComponents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaComponents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaComponents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaComponents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaComponents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaComponents_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaComponents_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaComponents_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaComponents_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaComponents_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaComponents_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaComponents_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaComponents_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaComponents_get_Count_Proxy( 
    IMgaComponents * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaComponents_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaComponents_get_Item_Proxy( 
    IMgaComponents * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaComponent **p);


void __RPC_STUB IMgaComponents_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaComponents_get__NewEnum_Proxy( 
    IMgaComponents * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaComponents_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponents_GetAll_Proxy( 
    IMgaComponents * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaComponent **p);


void __RPC_STUB IMgaComponents_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponents_Insert_Proxy( 
    IMgaComponents * This,
    /* [in] */ IMgaComponent *p,
    /* [in] */ long at);


void __RPC_STUB IMgaComponents_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponents_Append_Proxy( 
    IMgaComponents * This,
    /* [in] */ IMgaComponent *p);


void __RPC_STUB IMgaComponents_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponents_Find_Proxy( 
    IMgaComponents * This,
    /* [in] */ IMgaComponent *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaComponents_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaComponents_Remove_Proxy( 
    IMgaComponents * This,
    /* [in] */ long n);


void __RPC_STUB IMgaComponents_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaComponents_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0326 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaComponents>
{ typedef IMgaComponents collection_type; typedef IMgaComponent element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaComponent>
{ typedef IMgaComponents collection_type; typedef IMgaComponent element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0326_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0326_v0_0_s_ifspec;

#ifndef __IMgaClients_INTERFACE_DEFINED__
#define __IMgaClients_INTERFACE_DEFINED__

/* interface IMgaClients */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaClients;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c9d8df93-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaClients : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaClient **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaClient **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaClient *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaClient *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaClient *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaClientsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaClients * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaClients * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaClients * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaClients * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaClients * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaClients * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaClients * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaClients * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaClients * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaClient **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaClients * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaClients * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaClient **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaClients * This,
            /* [in] */ IMgaClient *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaClients * This,
            /* [in] */ IMgaClient *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaClients * This,
            /* [in] */ IMgaClient *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaClients * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaClientsVtbl;

    interface IMgaClients
    {
        CONST_VTBL struct IMgaClientsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaClients_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaClients_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaClients_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaClients_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaClients_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaClients_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaClients_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaClients_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaClients_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaClients_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaClients_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaClients_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaClients_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaClients_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaClients_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaClients_get_Count_Proxy( 
    IMgaClients * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaClients_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaClients_get_Item_Proxy( 
    IMgaClients * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaClient **p);


void __RPC_STUB IMgaClients_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaClients_get__NewEnum_Proxy( 
    IMgaClients * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaClients_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClients_GetAll_Proxy( 
    IMgaClients * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaClient **p);


void __RPC_STUB IMgaClients_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClients_Insert_Proxy( 
    IMgaClients * This,
    /* [in] */ IMgaClient *p,
    /* [in] */ long at);


void __RPC_STUB IMgaClients_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClients_Append_Proxy( 
    IMgaClients * This,
    /* [in] */ IMgaClient *p);


void __RPC_STUB IMgaClients_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClients_Find_Proxy( 
    IMgaClients * This,
    /* [in] */ IMgaClient *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaClients_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClients_Remove_Proxy( 
    IMgaClients * This,
    /* [in] */ long n);


void __RPC_STUB IMgaClients_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaClients_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0327 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaClients>
{ typedef IMgaClients collection_type; typedef IMgaClient element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaClient>
{ typedef IMgaClients collection_type; typedef IMgaClient element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0327_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0327_v0_0_s_ifspec;

#ifndef __IMgaObjects_INTERFACE_DEFINED__
#define __IMgaObjects_INTERFACE_DEFINED__

/* interface IMgaObjects */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaObjects;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c5aac2f0-c1fd-11d3-9ad2-00aa00b6fe26")
    IMgaObjects : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long n,
            /* [retval][out] */ IMgaObject **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAll( 
            /* [in] */ long count,
            /* [size_is][out] */ IMgaObject **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ IMgaObject *p,
            /* [in] */ long at) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ IMgaObject *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ IMgaObject *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ long n) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaObjectsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaObjects * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaObjects * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaObjects * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaObjects * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaObjects * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaObjects * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaObjects * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMgaObjects * This,
            /* [retval][out] */ long *p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMgaObjects * This,
            /* [in] */ long n,
            /* [retval][out] */ IMgaObject **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IMgaObjects * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAll )( 
            IMgaObjects * This,
            /* [in] */ long count,
            /* [size_is][out] */ IMgaObject **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMgaObjects * This,
            /* [in] */ IMgaObject *p,
            /* [in] */ long at);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Append )( 
            IMgaObjects * This,
            /* [in] */ IMgaObject *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IMgaObjects * This,
            /* [in] */ IMgaObject *p,
            /* [in] */ long start,
            /* [retval][out] */ long *res);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IMgaObjects * This,
            /* [in] */ long n);
        
        END_INTERFACE
    } IMgaObjectsVtbl;

    interface IMgaObjects
    {
        CONST_VTBL struct IMgaObjectsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaObjects_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaObjects_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaObjects_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaObjects_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaObjects_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaObjects_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaObjects_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaObjects_get_Count(This,p)	\
    (This)->lpVtbl -> get_Count(This,p)

#define IMgaObjects_get_Item(This,n,p)	\
    (This)->lpVtbl -> get_Item(This,n,p)

#define IMgaObjects_get__NewEnum(This,p)	\
    (This)->lpVtbl -> get__NewEnum(This,p)

#define IMgaObjects_GetAll(This,count,p)	\
    (This)->lpVtbl -> GetAll(This,count,p)

#define IMgaObjects_Insert(This,p,at)	\
    (This)->lpVtbl -> Insert(This,p,at)

#define IMgaObjects_Append(This,p)	\
    (This)->lpVtbl -> Append(This,p)

#define IMgaObjects_Find(This,p,start,res)	\
    (This)->lpVtbl -> Find(This,p,start,res)

#define IMgaObjects_Remove(This,n)	\
    (This)->lpVtbl -> Remove(This,n)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaObjects_get_Count_Proxy( 
    IMgaObjects * This,
    /* [retval][out] */ long *p);


void __RPC_STUB IMgaObjects_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaObjects_get_Item_Proxy( 
    IMgaObjects * This,
    /* [in] */ long n,
    /* [retval][out] */ IMgaObject **p);


void __RPC_STUB IMgaObjects_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaObjects_get__NewEnum_Proxy( 
    IMgaObjects * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaObjects_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObjects_GetAll_Proxy( 
    IMgaObjects * This,
    /* [in] */ long count,
    /* [size_is][out] */ IMgaObject **p);


void __RPC_STUB IMgaObjects_GetAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObjects_Insert_Proxy( 
    IMgaObjects * This,
    /* [in] */ IMgaObject *p,
    /* [in] */ long at);


void __RPC_STUB IMgaObjects_Insert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObjects_Append_Proxy( 
    IMgaObjects * This,
    /* [in] */ IMgaObject *p);


void __RPC_STUB IMgaObjects_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObjects_Find_Proxy( 
    IMgaObjects * This,
    /* [in] */ IMgaObject *p,
    /* [in] */ long start,
    /* [retval][out] */ long *res);


void __RPC_STUB IMgaObjects_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaObjects_Remove_Proxy( 
    IMgaObjects * This,
    /* [in] */ long n);


void __RPC_STUB IMgaObjects_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaObjects_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0328 */
/* [local] */ 

#ifdef __cplusplus
extern "C++"    
{            
template<> struct ::TypeName_MgaColl2Elem<IMgaObjects>
{ typedef IMgaObjects collection_type; typedef IMgaObject element_type; };
template<> struct ::TypeName_MgaElem2Coll<IMgaObject>
{ typedef IMgaObjects collection_type; typedef IMgaObject element_type; };
}            
#endif


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0328_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0328_v0_0_s_ifspec;

#ifndef __IMgaO_INTERFACE_DEFINED__
#define __IMgaO_INTERFACE_DEFINED__

/* interface IMgaO */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaO;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C356B135-961D-4B6C-8B1F-257E19117CC1")
    IMgaO : public IDispatch
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IMgaOVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaO * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaO * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaO * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaO * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaO * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaO * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaO * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } IMgaOVtbl;

    interface IMgaO
    {
        CONST_VTBL struct IMgaOVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaO_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaO_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaO_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaO_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaO_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaO_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaO_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMgaO_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0329 */
/* [local] */ 

typedef 
enum mgautil_error
    {	E_MGAUTIL_COMPONENTPROXY_NOTINITIALIZED	= 0x80737001
    } 	mgautil_error;



extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0329_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0329_v0_0_s_ifspec;

#ifndef __IMgaResolver_INTERFACE_DEFINED__
#define __IMgaResolver_INTERFACE_DEFINED__

/* interface IMgaResolver */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaResolver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("461F30B0-3BF0-11D4-B3F0-005004D38590")
    IMgaResolver : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_IsInteractive( 
            /* [in] */ VARIANT_BOOL p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsInteractive( 
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_IsStickyEnabled( 
            /* [in] */ VARIANT_BOOL p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsStickyEnabled( 
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE getUserOptions( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FolderByStr( 
            /* [in] */ IMgaFolder *parent,
            /* [in] */ BSTR kind,
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFolderByStrDisp( 
            /* [in] */ IMgaFolder *parent,
            /* [in] */ BSTR kind,
            /* [retval][out] */ IMgaMetaFolder **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_KindByStr( 
            /* [in] */ IMgaFolder *parent,
            /* [in] */ BSTR kind,
            /* [in] */ objtype_enum objtype,
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetKindByStrDisp( 
            /* [in] */ IMgaFolder *parent,
            /* [in] */ BSTR kind,
            /* [in] */ objtype_enum objtype,
            /* [retval][out] */ IMgaMetaFCO **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RoleByStr( 
            /* [in] */ IMgaModel *parent,
            /* [in] */ BSTR kind,
            /* [in] */ objtype_enum objtype,
            /* [in] */ BSTR role,
            /* [in] */ BSTR aspect,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRoleByStrDisp( 
            /* [in] */ IMgaModel *parent,
            /* [in] */ BSTR kind,
            /* [in] */ objtype_enum objtype,
            /* [in] */ BSTR role,
            /* [in] */ BSTR aspect,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AttrByStr( 
            /* [in] */ IMgaFCO *parent,
            /* [in] */ BSTR kind,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttrByStrDisp( 
            /* [in] */ IMgaFCO *parent,
            /* [in] */ BSTR kind,
            /* [retval][out] */ IMgaMetaAttribute **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RoleByMeta( 
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaFCO *kind,
            /* [in] */ objtype_enum objtype,
            /* [in] */ IMgaMetaRole *role,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRoleByMetaDisp( 
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaFCO *kind,
            /* [in] */ objtype_enum objtype,
            /* [in] */ IMgaMetaRole *role,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ConnRoleByMeta( 
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ IMgaFCO *src,
            /* [in] */ IMgaFCO *src_port,
            /* [in] */ IMgaFCO *dst,
            /* [in] */ IMgaFCO *dst_port,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConnRoleByMetaDisp( 
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ IMgaFCO *src,
            /* [in] */ IMgaFCO *src_port,
            /* [in] */ IMgaFCO *dst,
            /* [in] */ IMgaFCO *dst_port,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RefRoleByMeta( 
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ IMgaFCO *src,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRefRoleByMetaDisp( 
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ IMgaFCO *src,
            /* [retval][out] */ IMgaMetaRole **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RolesByMetas( 
            /* [in] */ IMgaModel *dst_parent,
            /* [in] */ IMgaFCOs *src,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ BSTR sz_aspect,
            /* [retval][out] */ IMgaMetaRoles **p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRolesByMetasDisp( 
            /* [in] */ IMgaModel *dst_parent,
            /* [in] */ IMgaFCOs *src,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ BSTR sz_aspect,
            /* [retval][out] */ IMgaMetaRoles **p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaResolverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaResolver * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaResolver * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaResolver * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaResolver * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaResolver * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaResolver * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaResolver * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IMgaResolver * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsInteractive )( 
            IMgaResolver * This,
            /* [in] */ VARIANT_BOOL p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInteractive )( 
            IMgaResolver * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStickyEnabled )( 
            IMgaResolver * This,
            /* [in] */ VARIANT_BOOL p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStickyEnabled )( 
            IMgaResolver * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *getUserOptions )( 
            IMgaResolver * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FolderByStr )( 
            IMgaResolver * This,
            /* [in] */ IMgaFolder *parent,
            /* [in] */ BSTR kind,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFolderByStrDisp )( 
            IMgaResolver * This,
            /* [in] */ IMgaFolder *parent,
            /* [in] */ BSTR kind,
            /* [retval][out] */ IMgaMetaFolder **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KindByStr )( 
            IMgaResolver * This,
            /* [in] */ IMgaFolder *parent,
            /* [in] */ BSTR kind,
            /* [in] */ objtype_enum objtype,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetKindByStrDisp )( 
            IMgaResolver * This,
            /* [in] */ IMgaFolder *parent,
            /* [in] */ BSTR kind,
            /* [in] */ objtype_enum objtype,
            /* [retval][out] */ IMgaMetaFCO **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoleByStr )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *parent,
            /* [in] */ BSTR kind,
            /* [in] */ objtype_enum objtype,
            /* [in] */ BSTR role,
            /* [in] */ BSTR aspect,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRoleByStrDisp )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *parent,
            /* [in] */ BSTR kind,
            /* [in] */ objtype_enum objtype,
            /* [in] */ BSTR role,
            /* [in] */ BSTR aspect,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttrByStr )( 
            IMgaResolver * This,
            /* [in] */ IMgaFCO *parent,
            /* [in] */ BSTR kind,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttrByStrDisp )( 
            IMgaResolver * This,
            /* [in] */ IMgaFCO *parent,
            /* [in] */ BSTR kind,
            /* [retval][out] */ IMgaMetaAttribute **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoleByMeta )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaFCO *kind,
            /* [in] */ objtype_enum objtype,
            /* [in] */ IMgaMetaRole *role,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRoleByMetaDisp )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaFCO *kind,
            /* [in] */ objtype_enum objtype,
            /* [in] */ IMgaMetaRole *role,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnRoleByMeta )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ IMgaFCO *src,
            /* [in] */ IMgaFCO *src_port,
            /* [in] */ IMgaFCO *dst,
            /* [in] */ IMgaFCO *dst_port,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConnRoleByMetaDisp )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ IMgaFCO *src,
            /* [in] */ IMgaFCO *src_port,
            /* [in] */ IMgaFCO *dst,
            /* [in] */ IMgaFCO *dst_port,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RefRoleByMeta )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ IMgaFCO *src,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRefRoleByMetaDisp )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *parent,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ IMgaFCO *src,
            /* [retval][out] */ IMgaMetaRole **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RolesByMetas )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *dst_parent,
            /* [in] */ IMgaFCOs *src,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ BSTR sz_aspect,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRolesByMetasDisp )( 
            IMgaResolver * This,
            /* [in] */ IMgaModel *dst_parent,
            /* [in] */ IMgaFCOs *src,
            /* [in] */ IMgaMetaAspect *aspect,
            /* [in] */ BSTR sz_aspect,
            /* [retval][out] */ IMgaMetaRoles **p);
        
        END_INTERFACE
    } IMgaResolverVtbl;

    interface IMgaResolver
    {
        CONST_VTBL struct IMgaResolverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaResolver_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaResolver_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaResolver_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaResolver_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaResolver_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaResolver_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaResolver_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaResolver_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IMgaResolver_put_IsInteractive(This,p)	\
    (This)->lpVtbl -> put_IsInteractive(This,p)

#define IMgaResolver_get_IsInteractive(This,p)	\
    (This)->lpVtbl -> get_IsInteractive(This,p)

#define IMgaResolver_put_IsStickyEnabled(This,p)	\
    (This)->lpVtbl -> put_IsStickyEnabled(This,p)

#define IMgaResolver_get_IsStickyEnabled(This,p)	\
    (This)->lpVtbl -> get_IsStickyEnabled(This,p)

#define IMgaResolver_getUserOptions(This)	\
    (This)->lpVtbl -> getUserOptions(This)

#define IMgaResolver_get_FolderByStr(This,parent,kind,p)	\
    (This)->lpVtbl -> get_FolderByStr(This,parent,kind,p)

#define IMgaResolver_GetFolderByStrDisp(This,parent,kind,p)	\
    (This)->lpVtbl -> GetFolderByStrDisp(This,parent,kind,p)

#define IMgaResolver_get_KindByStr(This,parent,kind,objtype,p)	\
    (This)->lpVtbl -> get_KindByStr(This,parent,kind,objtype,p)

#define IMgaResolver_GetKindByStrDisp(This,parent,kind,objtype,p)	\
    (This)->lpVtbl -> GetKindByStrDisp(This,parent,kind,objtype,p)

#define IMgaResolver_get_RoleByStr(This,parent,kind,objtype,role,aspect,p)	\
    (This)->lpVtbl -> get_RoleByStr(This,parent,kind,objtype,role,aspect,p)

#define IMgaResolver_GetRoleByStrDisp(This,parent,kind,objtype,role,aspect,p)	\
    (This)->lpVtbl -> GetRoleByStrDisp(This,parent,kind,objtype,role,aspect,p)

#define IMgaResolver_get_AttrByStr(This,parent,kind,p)	\
    (This)->lpVtbl -> get_AttrByStr(This,parent,kind,p)

#define IMgaResolver_GetAttrByStrDisp(This,parent,kind,p)	\
    (This)->lpVtbl -> GetAttrByStrDisp(This,parent,kind,p)

#define IMgaResolver_get_RoleByMeta(This,parent,kind,objtype,role,aspect,p)	\
    (This)->lpVtbl -> get_RoleByMeta(This,parent,kind,objtype,role,aspect,p)

#define IMgaResolver_GetRoleByMetaDisp(This,parent,kind,objtype,role,aspect,p)	\
    (This)->lpVtbl -> GetRoleByMetaDisp(This,parent,kind,objtype,role,aspect,p)

#define IMgaResolver_get_ConnRoleByMeta(This,parent,aspect,src,src_port,dst,dst_port,p)	\
    (This)->lpVtbl -> get_ConnRoleByMeta(This,parent,aspect,src,src_port,dst,dst_port,p)

#define IMgaResolver_GetConnRoleByMetaDisp(This,parent,aspect,src,src_port,dst,dst_port,p)	\
    (This)->lpVtbl -> GetConnRoleByMetaDisp(This,parent,aspect,src,src_port,dst,dst_port,p)

#define IMgaResolver_get_RefRoleByMeta(This,parent,aspect,src,p)	\
    (This)->lpVtbl -> get_RefRoleByMeta(This,parent,aspect,src,p)

#define IMgaResolver_GetRefRoleByMetaDisp(This,parent,aspect,src,p)	\
    (This)->lpVtbl -> GetRefRoleByMetaDisp(This,parent,aspect,src,p)

#define IMgaResolver_get_RolesByMetas(This,dst_parent,src,aspect,sz_aspect,p)	\
    (This)->lpVtbl -> get_RolesByMetas(This,dst_parent,src,aspect,sz_aspect,p)

#define IMgaResolver_GetRolesByMetasDisp(This,dst_parent,src,aspect,sz_aspect,p)	\
    (This)->lpVtbl -> GetRolesByMetasDisp(This,dst_parent,src,aspect,sz_aspect,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_Clear_Proxy( 
    IMgaResolver * This);


void __RPC_STUB IMgaResolver_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaResolver_put_IsInteractive_Proxy( 
    IMgaResolver * This,
    /* [in] */ VARIANT_BOOL p);


void __RPC_STUB IMgaResolver_put_IsInteractive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_IsInteractive_Proxy( 
    IMgaResolver * This,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaResolver_get_IsInteractive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaResolver_put_IsStickyEnabled_Proxy( 
    IMgaResolver * This,
    /* [in] */ VARIANT_BOOL p);


void __RPC_STUB IMgaResolver_put_IsStickyEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_IsStickyEnabled_Proxy( 
    IMgaResolver * This,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaResolver_get_IsStickyEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_getUserOptions_Proxy( 
    IMgaResolver * This);


void __RPC_STUB IMgaResolver_getUserOptions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_FolderByStr_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaFolder *parent,
    /* [in] */ BSTR kind,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaResolver_get_FolderByStr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_GetFolderByStrDisp_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaFolder *parent,
    /* [in] */ BSTR kind,
    /* [retval][out] */ IMgaMetaFolder **p);


void __RPC_STUB IMgaResolver_GetFolderByStrDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_KindByStr_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaFolder *parent,
    /* [in] */ BSTR kind,
    /* [in] */ objtype_enum objtype,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaResolver_get_KindByStr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_GetKindByStrDisp_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaFolder *parent,
    /* [in] */ BSTR kind,
    /* [in] */ objtype_enum objtype,
    /* [retval][out] */ IMgaMetaFCO **p);


void __RPC_STUB IMgaResolver_GetKindByStrDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_RoleByStr_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *parent,
    /* [in] */ BSTR kind,
    /* [in] */ objtype_enum objtype,
    /* [in] */ BSTR role,
    /* [in] */ BSTR aspect,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaResolver_get_RoleByStr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_GetRoleByStrDisp_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *parent,
    /* [in] */ BSTR kind,
    /* [in] */ objtype_enum objtype,
    /* [in] */ BSTR role,
    /* [in] */ BSTR aspect,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaResolver_GetRoleByStrDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_AttrByStr_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaFCO *parent,
    /* [in] */ BSTR kind,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaResolver_get_AttrByStr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_GetAttrByStrDisp_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaFCO *parent,
    /* [in] */ BSTR kind,
    /* [retval][out] */ IMgaMetaAttribute **p);


void __RPC_STUB IMgaResolver_GetAttrByStrDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_RoleByMeta_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *parent,
    /* [in] */ IMgaMetaFCO *kind,
    /* [in] */ objtype_enum objtype,
    /* [in] */ IMgaMetaRole *role,
    /* [in] */ IMgaMetaAspect *aspect,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaResolver_get_RoleByMeta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_GetRoleByMetaDisp_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *parent,
    /* [in] */ IMgaMetaFCO *kind,
    /* [in] */ objtype_enum objtype,
    /* [in] */ IMgaMetaRole *role,
    /* [in] */ IMgaMetaAspect *aspect,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaResolver_GetRoleByMetaDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_ConnRoleByMeta_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *parent,
    /* [in] */ IMgaMetaAspect *aspect,
    /* [in] */ IMgaFCO *src,
    /* [in] */ IMgaFCO *src_port,
    /* [in] */ IMgaFCO *dst,
    /* [in] */ IMgaFCO *dst_port,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaResolver_get_ConnRoleByMeta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_GetConnRoleByMetaDisp_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *parent,
    /* [in] */ IMgaMetaAspect *aspect,
    /* [in] */ IMgaFCO *src,
    /* [in] */ IMgaFCO *src_port,
    /* [in] */ IMgaFCO *dst,
    /* [in] */ IMgaFCO *dst_port,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaResolver_GetConnRoleByMetaDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_RefRoleByMeta_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *parent,
    /* [in] */ IMgaMetaAspect *aspect,
    /* [in] */ IMgaFCO *src,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaResolver_get_RefRoleByMeta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_GetRefRoleByMetaDisp_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *parent,
    /* [in] */ IMgaMetaAspect *aspect,
    /* [in] */ IMgaFCO *src,
    /* [retval][out] */ IMgaMetaRole **p);


void __RPC_STUB IMgaResolver_GetRefRoleByMetaDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaResolver_get_RolesByMetas_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *dst_parent,
    /* [in] */ IMgaFCOs *src,
    /* [in] */ IMgaMetaAspect *aspect,
    /* [in] */ BSTR sz_aspect,
    /* [retval][out] */ IMgaMetaRoles **p);


void __RPC_STUB IMgaResolver_get_RolesByMetas_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaResolver_GetRolesByMetasDisp_Proxy( 
    IMgaResolver * This,
    /* [in] */ IMgaModel *dst_parent,
    /* [in] */ IMgaFCOs *src,
    /* [in] */ IMgaMetaAspect *aspect,
    /* [in] */ BSTR sz_aspect,
    /* [retval][out] */ IMgaMetaRoles **p);


void __RPC_STUB IMgaResolver_GetRolesByMetasDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaResolver_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0332 */
/* [local] */ 

typedef 
enum regaccessmode_enum
    {	REGACCESS_NONE	= 0,
	REGACCESS_USER	= 1,
	REGACCESS_SYSTEM	= 2,
	REGACCESS_PRIORITY	= 5,
	REGACCESS_BOTH	= 3,
	REGACCESS_TEST	= 8
    } 	regaccessmode_enum;



extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0332_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0332_v0_0_s_ifspec;

#ifndef __IMgaRegistrar_INTERFACE_DEFINED__
#define __IMgaRegistrar_INTERFACE_DEFINED__

/* interface IMgaRegistrar */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaRegistrar;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F1D6BB05-42EE-11D4-B3F4-005004D38590")
    IMgaRegistrar : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IconPath( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_IconPath( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIconPathDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIconPathDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ShowMultipleView( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ShowMultipleView( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetShowMultipleViewDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetShowMultipleViewDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EventLoggingEnabled( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EventLoggingEnabled( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEventLoggingEnabledDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEventLoggingEnabledDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AutosaveEnabled( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AutosaveEnabled( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAutosaveEnabledDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAutosaveEnabledDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AutosaveFreq( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ long *secs) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AutosaveFreq( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ long secs) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAutosaveFreqDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ long *secs) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAutosaveFreqDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ long secs) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AutosaveUseDir( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *use) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AutosaveUseDir( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL use) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAutosaveUseDirDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *use) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAutosaveUseDirDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL use) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AutosaveDir( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *dir) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AutosaveDir( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR dir) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAutosaveDirDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *dir) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAutosaveDirDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR dir) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExternalEditorEnabled( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ExternalEditorEnabled( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetExternalEditorEnabledDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetExternalEditorEnabledDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExternalEditor( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ExternalEditor( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetExternalEditorDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetExternalEditorDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LabelAvoidance( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LabelAvoidance( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLabelAvoidanceDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLabelAvoidanceDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ScriptEngine( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ScriptEngine( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptEngineDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetScriptEngineDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefZoomLevel( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *zlevel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDefZoomLevel( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR zlevel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMouseOverNotify( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMouseOverNotify( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRealNmbFmtStr( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *fmtStr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRealNmbFmtStr( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR fmtStr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTimeStamping( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTimeStamping( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNavigation( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetNavigation( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUndoQueueSize( 
            regaccessmode_enum mode,
            BSTR *queuesz) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetUndoQueueSize( 
            regaccessmode_enum mode,
            BSTR queuesz) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Paradigms( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *names) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParadigmsDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *names) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterParadigmFromData( 
            /* [in] */ BSTR connstr,
            /* [out] */ BSTR *newname,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterParadigmFromDataDisp( 
            /* [in] */ BSTR connstr,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *newname) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterParadigm( 
            /* [in] */ BSTR name,
            /* [in] */ BSTR connstr,
            /* [in] */ BSTR ver,
            /* [in] */ VARIANT guid,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryParadigm( 
            /* [in] */ BSTR name,
            /* [out] */ BSTR *connstr,
            /* [out][in] */ VARIANT *guid,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParadigmGUIDString( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *guidstr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParadigmGUIDStringDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *guidstr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryParadigmAllGUIDs( 
            /* [in] */ BSTR name,
            /* [out] */ VARIANT *names,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterParadigm( 
            /* [in] */ BSTR name,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterParadigmGUID( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT guid,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VersionFromGUID( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT guid,
            /* [out] */ BSTR *ver,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GUIDFromVersion( 
            /* [in] */ BSTR name,
            /* [in] */ BSTR ver,
            /* [out] */ VARIANT *guid,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Components( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *progids) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetComponentsDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *progids) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterComponent( 
            /* [in] */ BSTR progid,
            /* [in] */ componenttype_enum type,
            /* [in] */ BSTR desc,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryComponent( 
            /* [in] */ BSTR progid,
            /* [out] */ componenttype_enum *type,
            /* [out] */ BSTR *desc,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterComponent( 
            /* [in] */ BSTR progid,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ComponentExtraInfo( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ComponentExtraInfo( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetComponentExtraInfoDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetComponentExtraInfoDisp( 
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LocalDllPath( 
            /* [in] */ BSTR progid,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLocalDllPathDisp( 
            /* [in] */ BSTR progid,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AssociatedComponents( 
            /* [in] */ BSTR paradigm,
            /* [in] */ componenttype_enum type,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *progids) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAssociatedComponentsDisp( 
            /* [in] */ BSTR paradigm,
            /* [in] */ componenttype_enum type,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *progids) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AssociatedParadigms( 
            /* [in] */ BSTR progid,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *paradigms) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAssociatedParadigmsDisp( 
            /* [in] */ BSTR progid,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *paradigms) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Associate( 
            /* [in] */ BSTR progid,
            /* [in] */ BSTR paradigm,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Disassociate( 
            /* [in] */ BSTR progid,
            /* [in] */ BSTR paradigm,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsAssociated( 
            /* [in] */ BSTR progid,
            /* [in] */ BSTR paradigm,
            /* [out] */ VARIANT_BOOL *is_ass,
            /* [out] */ VARIANT_BOOL *can_ass,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterComponentLibrary( 
            /* [in] */ BSTR path,
            /* [in] */ regaccessmode_enum mode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterComponentLibrary( 
            /* [in] */ BSTR path,
            /* [in] */ regaccessmode_enum mode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaRegistrarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaRegistrar * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaRegistrar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaRegistrar * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaRegistrar * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaRegistrar * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaRegistrar * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaRegistrar * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IconPath )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IconPath )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIconPathDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetIconPathDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowMultipleView )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowMultipleView )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetShowMultipleViewDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetShowMultipleViewDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventLoggingEnabled )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventLoggingEnabled )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEventLoggingEnabledDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetEventLoggingEnabledDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutosaveEnabled )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutosaveEnabled )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAutosaveEnabledDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAutosaveEnabledDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutosaveFreq )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ long *secs);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutosaveFreq )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ long secs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAutosaveFreqDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ long *secs);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAutosaveFreqDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ long secs);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutosaveUseDir )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *use);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutosaveUseDir )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL use);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAutosaveUseDirDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *use);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAutosaveUseDirDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL use);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutosaveDir )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *dir);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutosaveDir )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR dir);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAutosaveDirDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *dir);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAutosaveDirDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR dir);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExternalEditorEnabled )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExternalEditorEnabled )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetExternalEditorEnabledDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetExternalEditorEnabledDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExternalEditor )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExternalEditor )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetExternalEditorDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetExternalEditorDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LabelAvoidance )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LabelAvoidance )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLabelAvoidanceDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLabelAvoidanceDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScriptEngine )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScriptEngine )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptEngineDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetScriptEngineDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR path);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefZoomLevel )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *zlevel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefZoomLevel )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR zlevel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMouseOverNotify )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMouseOverNotify )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRealNmbFmtStr )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *fmtStr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRealNmbFmtStr )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR fmtStr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTimeStamping )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTimeStamping )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNavigation )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetNavigation )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUndoQueueSize )( 
            IMgaRegistrar * This,
            regaccessmode_enum mode,
            BSTR *queuesz);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetUndoQueueSize )( 
            IMgaRegistrar * This,
            regaccessmode_enum mode,
            BSTR queuesz);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Paradigms )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *names);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParadigmsDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *names);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterParadigmFromData )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR connstr,
            /* [out] */ BSTR *newname,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterParadigmFromDataDisp )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR connstr,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ BSTR *newname);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterParadigm )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR connstr,
            /* [in] */ BSTR ver,
            /* [in] */ VARIANT guid,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryParadigm )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR name,
            /* [out] */ BSTR *connstr,
            /* [out][in] */ VARIANT *guid,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParadigmGUIDString )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *guidstr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParadigmGUIDStringDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *guidstr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryParadigmAllGUIDs )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR name,
            /* [out] */ VARIANT *names,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterParadigm )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR name,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterParadigmGUID )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT guid,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VersionFromGUID )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT guid,
            /* [out] */ BSTR *ver,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GUIDFromVersion )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR ver,
            /* [out] */ VARIANT *guid,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Components )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *progids);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetComponentsDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *progids);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterComponent )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [in] */ componenttype_enum type,
            /* [in] */ BSTR desc,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryComponent )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [out] */ componenttype_enum *type,
            /* [out] */ BSTR *desc,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterComponent )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ComponentExtraInfo )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ComponentExtraInfo )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetComponentExtraInfoDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR name,
            /* [in] */ BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetComponentExtraInfoDisp )( 
            IMgaRegistrar * This,
            /* [in] */ regaccessmode_enum mode,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR name,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalDllPath )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLocalDllPathDisp )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AssociatedComponents )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR paradigm,
            /* [in] */ componenttype_enum type,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *progids);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAssociatedComponentsDisp )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR paradigm,
            /* [in] */ componenttype_enum type,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *progids);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AssociatedParadigms )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *paradigms);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAssociatedParadigmsDisp )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [in] */ regaccessmode_enum mode,
            /* [retval][out] */ VARIANT *paradigms);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Associate )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR paradigm,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Disassociate )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR paradigm,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsAssociated )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR progid,
            /* [in] */ BSTR paradigm,
            /* [out] */ VARIANT_BOOL *is_ass,
            /* [out] */ VARIANT_BOOL *can_ass,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterComponentLibrary )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR path,
            /* [in] */ regaccessmode_enum mode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterComponentLibrary )( 
            IMgaRegistrar * This,
            /* [in] */ BSTR path,
            /* [in] */ regaccessmode_enum mode);
        
        END_INTERFACE
    } IMgaRegistrarVtbl;

    interface IMgaRegistrar
    {
        CONST_VTBL struct IMgaRegistrarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaRegistrar_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaRegistrar_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaRegistrar_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaRegistrar_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaRegistrar_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaRegistrar_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaRegistrar_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaRegistrar_get_IconPath(This,mode,path)	\
    (This)->lpVtbl -> get_IconPath(This,mode,path)

#define IMgaRegistrar_put_IconPath(This,mode,path)	\
    (This)->lpVtbl -> put_IconPath(This,mode,path)

#define IMgaRegistrar_GetIconPathDisp(This,mode,path)	\
    (This)->lpVtbl -> GetIconPathDisp(This,mode,path)

#define IMgaRegistrar_SetIconPathDisp(This,mode,path)	\
    (This)->lpVtbl -> SetIconPathDisp(This,mode,path)

#define IMgaRegistrar_get_ShowMultipleView(This,mode,enabled)	\
    (This)->lpVtbl -> get_ShowMultipleView(This,mode,enabled)

#define IMgaRegistrar_put_ShowMultipleView(This,mode,enabled)	\
    (This)->lpVtbl -> put_ShowMultipleView(This,mode,enabled)

#define IMgaRegistrar_GetShowMultipleViewDisp(This,mode,enabled)	\
    (This)->lpVtbl -> GetShowMultipleViewDisp(This,mode,enabled)

#define IMgaRegistrar_SetShowMultipleViewDisp(This,mode,enabled)	\
    (This)->lpVtbl -> SetShowMultipleViewDisp(This,mode,enabled)

#define IMgaRegistrar_get_EventLoggingEnabled(This,mode,enabled)	\
    (This)->lpVtbl -> get_EventLoggingEnabled(This,mode,enabled)

#define IMgaRegistrar_put_EventLoggingEnabled(This,mode,enabled)	\
    (This)->lpVtbl -> put_EventLoggingEnabled(This,mode,enabled)

#define IMgaRegistrar_GetEventLoggingEnabledDisp(This,mode,enabled)	\
    (This)->lpVtbl -> GetEventLoggingEnabledDisp(This,mode,enabled)

#define IMgaRegistrar_SetEventLoggingEnabledDisp(This,mode,enabled)	\
    (This)->lpVtbl -> SetEventLoggingEnabledDisp(This,mode,enabled)

#define IMgaRegistrar_get_AutosaveEnabled(This,mode,enabled)	\
    (This)->lpVtbl -> get_AutosaveEnabled(This,mode,enabled)

#define IMgaRegistrar_put_AutosaveEnabled(This,mode,enabled)	\
    (This)->lpVtbl -> put_AutosaveEnabled(This,mode,enabled)

#define IMgaRegistrar_GetAutosaveEnabledDisp(This,mode,enabled)	\
    (This)->lpVtbl -> GetAutosaveEnabledDisp(This,mode,enabled)

#define IMgaRegistrar_SetAutosaveEnabledDisp(This,mode,enabled)	\
    (This)->lpVtbl -> SetAutosaveEnabledDisp(This,mode,enabled)

#define IMgaRegistrar_get_AutosaveFreq(This,mode,secs)	\
    (This)->lpVtbl -> get_AutosaveFreq(This,mode,secs)

#define IMgaRegistrar_put_AutosaveFreq(This,mode,secs)	\
    (This)->lpVtbl -> put_AutosaveFreq(This,mode,secs)

#define IMgaRegistrar_GetAutosaveFreqDisp(This,mode,secs)	\
    (This)->lpVtbl -> GetAutosaveFreqDisp(This,mode,secs)

#define IMgaRegistrar_SetAutosaveFreqDisp(This,mode,secs)	\
    (This)->lpVtbl -> SetAutosaveFreqDisp(This,mode,secs)

#define IMgaRegistrar_get_AutosaveUseDir(This,mode,use)	\
    (This)->lpVtbl -> get_AutosaveUseDir(This,mode,use)

#define IMgaRegistrar_put_AutosaveUseDir(This,mode,use)	\
    (This)->lpVtbl -> put_AutosaveUseDir(This,mode,use)

#define IMgaRegistrar_GetAutosaveUseDirDisp(This,mode,use)	\
    (This)->lpVtbl -> GetAutosaveUseDirDisp(This,mode,use)

#define IMgaRegistrar_SetAutosaveUseDirDisp(This,mode,use)	\
    (This)->lpVtbl -> SetAutosaveUseDirDisp(This,mode,use)

#define IMgaRegistrar_get_AutosaveDir(This,mode,dir)	\
    (This)->lpVtbl -> get_AutosaveDir(This,mode,dir)

#define IMgaRegistrar_put_AutosaveDir(This,mode,dir)	\
    (This)->lpVtbl -> put_AutosaveDir(This,mode,dir)

#define IMgaRegistrar_GetAutosaveDirDisp(This,mode,dir)	\
    (This)->lpVtbl -> GetAutosaveDirDisp(This,mode,dir)

#define IMgaRegistrar_SetAutosaveDirDisp(This,mode,dir)	\
    (This)->lpVtbl -> SetAutosaveDirDisp(This,mode,dir)

#define IMgaRegistrar_get_ExternalEditorEnabled(This,mode,enabled)	\
    (This)->lpVtbl -> get_ExternalEditorEnabled(This,mode,enabled)

#define IMgaRegistrar_put_ExternalEditorEnabled(This,mode,enabled)	\
    (This)->lpVtbl -> put_ExternalEditorEnabled(This,mode,enabled)

#define IMgaRegistrar_GetExternalEditorEnabledDisp(This,mode,enabled)	\
    (This)->lpVtbl -> GetExternalEditorEnabledDisp(This,mode,enabled)

#define IMgaRegistrar_SetExternalEditorEnabledDisp(This,mode,enabled)	\
    (This)->lpVtbl -> SetExternalEditorEnabledDisp(This,mode,enabled)

#define IMgaRegistrar_get_ExternalEditor(This,mode,path)	\
    (This)->lpVtbl -> get_ExternalEditor(This,mode,path)

#define IMgaRegistrar_put_ExternalEditor(This,mode,path)	\
    (This)->lpVtbl -> put_ExternalEditor(This,mode,path)

#define IMgaRegistrar_GetExternalEditorDisp(This,mode,path)	\
    (This)->lpVtbl -> GetExternalEditorDisp(This,mode,path)

#define IMgaRegistrar_SetExternalEditorDisp(This,mode,path)	\
    (This)->lpVtbl -> SetExternalEditorDisp(This,mode,path)

#define IMgaRegistrar_get_LabelAvoidance(This,mode,enabled)	\
    (This)->lpVtbl -> get_LabelAvoidance(This,mode,enabled)

#define IMgaRegistrar_put_LabelAvoidance(This,mode,enabled)	\
    (This)->lpVtbl -> put_LabelAvoidance(This,mode,enabled)

#define IMgaRegistrar_GetLabelAvoidanceDisp(This,mode,enabled)	\
    (This)->lpVtbl -> GetLabelAvoidanceDisp(This,mode,enabled)

#define IMgaRegistrar_SetLabelAvoidanceDisp(This,mode,enabled)	\
    (This)->lpVtbl -> SetLabelAvoidanceDisp(This,mode,enabled)

#define IMgaRegistrar_get_ScriptEngine(This,mode,path)	\
    (This)->lpVtbl -> get_ScriptEngine(This,mode,path)

#define IMgaRegistrar_put_ScriptEngine(This,mode,path)	\
    (This)->lpVtbl -> put_ScriptEngine(This,mode,path)

#define IMgaRegistrar_GetScriptEngineDisp(This,mode,path)	\
    (This)->lpVtbl -> GetScriptEngineDisp(This,mode,path)

#define IMgaRegistrar_SetScriptEngineDisp(This,mode,path)	\
    (This)->lpVtbl -> SetScriptEngineDisp(This,mode,path)

#define IMgaRegistrar_GetDefZoomLevel(This,mode,zlevel)	\
    (This)->lpVtbl -> GetDefZoomLevel(This,mode,zlevel)

#define IMgaRegistrar_SetDefZoomLevel(This,mode,zlevel)	\
    (This)->lpVtbl -> SetDefZoomLevel(This,mode,zlevel)

#define IMgaRegistrar_GetMouseOverNotify(This,mode,enabled)	\
    (This)->lpVtbl -> GetMouseOverNotify(This,mode,enabled)

#define IMgaRegistrar_SetMouseOverNotify(This,mode,enabled)	\
    (This)->lpVtbl -> SetMouseOverNotify(This,mode,enabled)

#define IMgaRegistrar_GetRealNmbFmtStr(This,mode,fmtStr)	\
    (This)->lpVtbl -> GetRealNmbFmtStr(This,mode,fmtStr)

#define IMgaRegistrar_SetRealNmbFmtStr(This,mode,fmtStr)	\
    (This)->lpVtbl -> SetRealNmbFmtStr(This,mode,fmtStr)

#define IMgaRegistrar_GetTimeStamping(This,mode,enabled)	\
    (This)->lpVtbl -> GetTimeStamping(This,mode,enabled)

#define IMgaRegistrar_SetTimeStamping(This,mode,enabled)	\
    (This)->lpVtbl -> SetTimeStamping(This,mode,enabled)

#define IMgaRegistrar_GetNavigation(This,mode,enabled)	\
    (This)->lpVtbl -> GetNavigation(This,mode,enabled)

#define IMgaRegistrar_SetNavigation(This,mode,enabled)	\
    (This)->lpVtbl -> SetNavigation(This,mode,enabled)

#define IMgaRegistrar_GetUndoQueueSize(This,mode,queuesz)	\
    (This)->lpVtbl -> GetUndoQueueSize(This,mode,queuesz)

#define IMgaRegistrar_SetUndoQueueSize(This,mode,queuesz)	\
    (This)->lpVtbl -> SetUndoQueueSize(This,mode,queuesz)

#define IMgaRegistrar_get_Paradigms(This,mode,names)	\
    (This)->lpVtbl -> get_Paradigms(This,mode,names)

#define IMgaRegistrar_GetParadigmsDisp(This,mode,names)	\
    (This)->lpVtbl -> GetParadigmsDisp(This,mode,names)

#define IMgaRegistrar_RegisterParadigmFromData(This,connstr,newname,mode)	\
    (This)->lpVtbl -> RegisterParadigmFromData(This,connstr,newname,mode)

#define IMgaRegistrar_RegisterParadigmFromDataDisp(This,connstr,mode,newname)	\
    (This)->lpVtbl -> RegisterParadigmFromDataDisp(This,connstr,mode,newname)

#define IMgaRegistrar_RegisterParadigm(This,name,connstr,ver,guid,mode)	\
    (This)->lpVtbl -> RegisterParadigm(This,name,connstr,ver,guid,mode)

#define IMgaRegistrar_QueryParadigm(This,name,connstr,guid,mode)	\
    (This)->lpVtbl -> QueryParadigm(This,name,connstr,guid,mode)

#define IMgaRegistrar_get_ParadigmGUIDString(This,mode,name,guidstr)	\
    (This)->lpVtbl -> get_ParadigmGUIDString(This,mode,name,guidstr)

#define IMgaRegistrar_GetParadigmGUIDStringDisp(This,mode,name,guidstr)	\
    (This)->lpVtbl -> GetParadigmGUIDStringDisp(This,mode,name,guidstr)

#define IMgaRegistrar_QueryParadigmAllGUIDs(This,name,names,mode)	\
    (This)->lpVtbl -> QueryParadigmAllGUIDs(This,name,names,mode)

#define IMgaRegistrar_UnregisterParadigm(This,name,mode)	\
    (This)->lpVtbl -> UnregisterParadigm(This,name,mode)

#define IMgaRegistrar_UnregisterParadigmGUID(This,name,guid,mode)	\
    (This)->lpVtbl -> UnregisterParadigmGUID(This,name,guid,mode)

#define IMgaRegistrar_VersionFromGUID(This,name,guid,ver,mode)	\
    (This)->lpVtbl -> VersionFromGUID(This,name,guid,ver,mode)

#define IMgaRegistrar_GUIDFromVersion(This,name,ver,guid,mode)	\
    (This)->lpVtbl -> GUIDFromVersion(This,name,ver,guid,mode)

#define IMgaRegistrar_get_Components(This,mode,progids)	\
    (This)->lpVtbl -> get_Components(This,mode,progids)

#define IMgaRegistrar_GetComponentsDisp(This,mode,progids)	\
    (This)->lpVtbl -> GetComponentsDisp(This,mode,progids)

#define IMgaRegistrar_RegisterComponent(This,progid,type,desc,mode)	\
    (This)->lpVtbl -> RegisterComponent(This,progid,type,desc,mode)

#define IMgaRegistrar_QueryComponent(This,progid,type,desc,mode)	\
    (This)->lpVtbl -> QueryComponent(This,progid,type,desc,mode)

#define IMgaRegistrar_UnregisterComponent(This,progid,mode)	\
    (This)->lpVtbl -> UnregisterComponent(This,progid,mode)

#define IMgaRegistrar_put_ComponentExtraInfo(This,mode,progid,name,newVal)	\
    (This)->lpVtbl -> put_ComponentExtraInfo(This,mode,progid,name,newVal)

#define IMgaRegistrar_get_ComponentExtraInfo(This,mode,progid,name,pVal)	\
    (This)->lpVtbl -> get_ComponentExtraInfo(This,mode,progid,name,pVal)

#define IMgaRegistrar_SetComponentExtraInfoDisp(This,mode,progid,name,newVal)	\
    (This)->lpVtbl -> SetComponentExtraInfoDisp(This,mode,progid,name,newVal)

#define IMgaRegistrar_GetComponentExtraInfoDisp(This,mode,progid,name,pVal)	\
    (This)->lpVtbl -> GetComponentExtraInfoDisp(This,mode,progid,name,pVal)

#define IMgaRegistrar_get_LocalDllPath(This,progid,pVal)	\
    (This)->lpVtbl -> get_LocalDllPath(This,progid,pVal)

#define IMgaRegistrar_GetLocalDllPathDisp(This,progid,pVal)	\
    (This)->lpVtbl -> GetLocalDllPathDisp(This,progid,pVal)

#define IMgaRegistrar_get_AssociatedComponents(This,paradigm,type,mode,progids)	\
    (This)->lpVtbl -> get_AssociatedComponents(This,paradigm,type,mode,progids)

#define IMgaRegistrar_GetAssociatedComponentsDisp(This,paradigm,type,mode,progids)	\
    (This)->lpVtbl -> GetAssociatedComponentsDisp(This,paradigm,type,mode,progids)

#define IMgaRegistrar_get_AssociatedParadigms(This,progid,mode,paradigms)	\
    (This)->lpVtbl -> get_AssociatedParadigms(This,progid,mode,paradigms)

#define IMgaRegistrar_GetAssociatedParadigmsDisp(This,progid,mode,paradigms)	\
    (This)->lpVtbl -> GetAssociatedParadigmsDisp(This,progid,mode,paradigms)

#define IMgaRegistrar_Associate(This,progid,paradigm,mode)	\
    (This)->lpVtbl -> Associate(This,progid,paradigm,mode)

#define IMgaRegistrar_Disassociate(This,progid,paradigm,mode)	\
    (This)->lpVtbl -> Disassociate(This,progid,paradigm,mode)

#define IMgaRegistrar_IsAssociated(This,progid,paradigm,is_ass,can_ass,mode)	\
    (This)->lpVtbl -> IsAssociated(This,progid,paradigm,is_ass,can_ass,mode)

#define IMgaRegistrar_RegisterComponentLibrary(This,path,mode)	\
    (This)->lpVtbl -> RegisterComponentLibrary(This,path,mode)

#define IMgaRegistrar_UnregisterComponentLibrary(This,path,mode)	\
    (This)->lpVtbl -> UnregisterComponentLibrary(This,path,mode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_IconPath_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *path);


void __RPC_STUB IMgaRegistrar_get_IconPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_IconPath_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR path);


void __RPC_STUB IMgaRegistrar_put_IconPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetIconPathDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *path);


void __RPC_STUB IMgaRegistrar_GetIconPathDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetIconPathDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR path);


void __RPC_STUB IMgaRegistrar_SetIconPathDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_ShowMultipleView_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_get_ShowMultipleView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_ShowMultipleView_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_put_ShowMultipleView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetShowMultipleViewDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_GetShowMultipleViewDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetShowMultipleViewDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_SetShowMultipleViewDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_EventLoggingEnabled_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_get_EventLoggingEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_EventLoggingEnabled_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_put_EventLoggingEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetEventLoggingEnabledDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_GetEventLoggingEnabledDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetEventLoggingEnabledDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_SetEventLoggingEnabledDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_AutosaveEnabled_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_get_AutosaveEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_AutosaveEnabled_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_put_AutosaveEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetAutosaveEnabledDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_GetAutosaveEnabledDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetAutosaveEnabledDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_SetAutosaveEnabledDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_AutosaveFreq_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ long *secs);


void __RPC_STUB IMgaRegistrar_get_AutosaveFreq_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_AutosaveFreq_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ long secs);


void __RPC_STUB IMgaRegistrar_put_AutosaveFreq_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetAutosaveFreqDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ long *secs);


void __RPC_STUB IMgaRegistrar_GetAutosaveFreqDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetAutosaveFreqDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ long secs);


void __RPC_STUB IMgaRegistrar_SetAutosaveFreqDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_AutosaveUseDir_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *use);


void __RPC_STUB IMgaRegistrar_get_AutosaveUseDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_AutosaveUseDir_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL use);


void __RPC_STUB IMgaRegistrar_put_AutosaveUseDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetAutosaveUseDirDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *use);


void __RPC_STUB IMgaRegistrar_GetAutosaveUseDirDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetAutosaveUseDirDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL use);


void __RPC_STUB IMgaRegistrar_SetAutosaveUseDirDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_AutosaveDir_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *dir);


void __RPC_STUB IMgaRegistrar_get_AutosaveDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_AutosaveDir_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR dir);


void __RPC_STUB IMgaRegistrar_put_AutosaveDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetAutosaveDirDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *dir);


void __RPC_STUB IMgaRegistrar_GetAutosaveDirDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetAutosaveDirDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR dir);


void __RPC_STUB IMgaRegistrar_SetAutosaveDirDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_ExternalEditorEnabled_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_get_ExternalEditorEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_ExternalEditorEnabled_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_put_ExternalEditorEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetExternalEditorEnabledDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_GetExternalEditorEnabledDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetExternalEditorEnabledDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_SetExternalEditorEnabledDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_ExternalEditor_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *path);


void __RPC_STUB IMgaRegistrar_get_ExternalEditor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_ExternalEditor_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR path);


void __RPC_STUB IMgaRegistrar_put_ExternalEditor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetExternalEditorDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *path);


void __RPC_STUB IMgaRegistrar_GetExternalEditorDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetExternalEditorDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR path);


void __RPC_STUB IMgaRegistrar_SetExternalEditorDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_LabelAvoidance_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_get_LabelAvoidance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_LabelAvoidance_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_put_LabelAvoidance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetLabelAvoidanceDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_GetLabelAvoidanceDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetLabelAvoidanceDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_SetLabelAvoidanceDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_ScriptEngine_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *path);


void __RPC_STUB IMgaRegistrar_get_ScriptEngine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_ScriptEngine_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR path);


void __RPC_STUB IMgaRegistrar_put_ScriptEngine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetScriptEngineDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *path);


void __RPC_STUB IMgaRegistrar_GetScriptEngineDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetScriptEngineDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR path);


void __RPC_STUB IMgaRegistrar_SetScriptEngineDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetDefZoomLevel_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *zlevel);


void __RPC_STUB IMgaRegistrar_GetDefZoomLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetDefZoomLevel_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR zlevel);


void __RPC_STUB IMgaRegistrar_SetDefZoomLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetMouseOverNotify_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_GetMouseOverNotify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetMouseOverNotify_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_SetMouseOverNotify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetRealNmbFmtStr_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *fmtStr);


void __RPC_STUB IMgaRegistrar_GetRealNmbFmtStr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetRealNmbFmtStr_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR fmtStr);


void __RPC_STUB IMgaRegistrar_SetRealNmbFmtStr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetTimeStamping_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_GetTimeStamping_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetTimeStamping_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_SetTimeStamping_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetNavigation_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IMgaRegistrar_GetNavigation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetNavigation_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IMgaRegistrar_SetNavigation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetUndoQueueSize_Proxy( 
    IMgaRegistrar * This,
    regaccessmode_enum mode,
    BSTR *queuesz);


void __RPC_STUB IMgaRegistrar_GetUndoQueueSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetUndoQueueSize_Proxy( 
    IMgaRegistrar * This,
    regaccessmode_enum mode,
    BSTR queuesz);


void __RPC_STUB IMgaRegistrar_SetUndoQueueSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_Paradigms_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT *names);


void __RPC_STUB IMgaRegistrar_get_Paradigms_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetParadigmsDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT *names);


void __RPC_STUB IMgaRegistrar_GetParadigmsDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_RegisterParadigmFromData_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR connstr,
    /* [out] */ BSTR *newname,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_RegisterParadigmFromData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_RegisterParadigmFromDataDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR connstr,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ BSTR *newname);


void __RPC_STUB IMgaRegistrar_RegisterParadigmFromDataDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_RegisterParadigm_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR name,
    /* [in] */ BSTR connstr,
    /* [in] */ BSTR ver,
    /* [in] */ VARIANT guid,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_RegisterParadigm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_QueryParadigm_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR name,
    /* [out] */ BSTR *connstr,
    /* [out][in] */ VARIANT *guid,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_QueryParadigm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_ParadigmGUIDString_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR name,
    /* [retval][out] */ BSTR *guidstr);


void __RPC_STUB IMgaRegistrar_get_ParadigmGUIDString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetParadigmGUIDStringDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR name,
    /* [retval][out] */ BSTR *guidstr);


void __RPC_STUB IMgaRegistrar_GetParadigmGUIDStringDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_QueryParadigmAllGUIDs_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR name,
    /* [out] */ VARIANT *names,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_QueryParadigmAllGUIDs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_UnregisterParadigm_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR name,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_UnregisterParadigm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_UnregisterParadigmGUID_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT guid,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_UnregisterParadigmGUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_VersionFromGUID_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT guid,
    /* [out] */ BSTR *ver,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_VersionFromGUID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GUIDFromVersion_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR name,
    /* [in] */ BSTR ver,
    /* [out] */ VARIANT *guid,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_GUIDFromVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_Components_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT *progids);


void __RPC_STUB IMgaRegistrar_get_Components_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetComponentsDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT *progids);


void __RPC_STUB IMgaRegistrar_GetComponentsDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_RegisterComponent_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [in] */ componenttype_enum type,
    /* [in] */ BSTR desc,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_RegisterComponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_QueryComponent_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [out] */ componenttype_enum *type,
    /* [out] */ BSTR *desc,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_QueryComponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_UnregisterComponent_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_UnregisterComponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_put_ComponentExtraInfo_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR progid,
    /* [in] */ BSTR name,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaRegistrar_put_ComponentExtraInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_ComponentExtraInfo_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR progid,
    /* [in] */ BSTR name,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaRegistrar_get_ComponentExtraInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_SetComponentExtraInfoDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR progid,
    /* [in] */ BSTR name,
    /* [in] */ BSTR newVal);


void __RPC_STUB IMgaRegistrar_SetComponentExtraInfoDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetComponentExtraInfoDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ regaccessmode_enum mode,
    /* [in] */ BSTR progid,
    /* [in] */ BSTR name,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaRegistrar_GetComponentExtraInfoDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_LocalDllPath_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaRegistrar_get_LocalDllPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetLocalDllPathDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IMgaRegistrar_GetLocalDllPathDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_AssociatedComponents_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR paradigm,
    /* [in] */ componenttype_enum type,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT *progids);


void __RPC_STUB IMgaRegistrar_get_AssociatedComponents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetAssociatedComponentsDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR paradigm,
    /* [in] */ componenttype_enum type,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT *progids);


void __RPC_STUB IMgaRegistrar_GetAssociatedComponentsDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_get_AssociatedParadigms_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT *paradigms);


void __RPC_STUB IMgaRegistrar_get_AssociatedParadigms_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_GetAssociatedParadigmsDisp_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [in] */ regaccessmode_enum mode,
    /* [retval][out] */ VARIANT *paradigms);


void __RPC_STUB IMgaRegistrar_GetAssociatedParadigmsDisp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_Associate_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [in] */ BSTR paradigm,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_Associate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_Disassociate_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [in] */ BSTR paradigm,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_Disassociate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_IsAssociated_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR progid,
    /* [in] */ BSTR paradigm,
    /* [out] */ VARIANT_BOOL *is_ass,
    /* [out] */ VARIANT_BOOL *can_ass,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_IsAssociated_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_RegisterComponentLibrary_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR path,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_RegisterComponentLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaRegistrar_UnregisterComponentLibrary_Proxy( 
    IMgaRegistrar * This,
    /* [in] */ BSTR path,
    /* [in] */ regaccessmode_enum mode);


void __RPC_STUB IMgaRegistrar_UnregisterComponentLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaRegistrar_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0333 */
/* [local] */ 

typedef 
enum metadlg_enum
    {	METADLG_NONE	= 0,
	METADLG_NEWFILE	= 0x1,
	METADLG_PARREG	= 0x2
    } 	metadlg_enum;

typedef 
enum componentdlg_enum
    {	COMPONENTDLG_NONE	= 0,
	COMPONENTDLG_INTERP	= 0x1
    } 	componentdlg_enum;



extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0333_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0333_v0_0_s_ifspec;

#ifndef __IMgaLauncher_INTERFACE_DEFINED__
#define __IMgaLauncher_INTERFACE_DEFINED__

/* interface IMgaLauncher */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaLauncher;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D03EC326-447B-11D4-B3F6-005004D38590")
    IMgaLauncher : public IDispatch
    {
    public:
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ParadigmName( 
            /* [in] */ BSTR p) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ComponentType( 
            /* [in] */ componenttype_enum type) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Parameter( 
            /* [in] */ VARIANT p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParadigmName( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ConnStr( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Paradigm( 
            /* [retval][out] */ IMgaMetaProject **p) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ProgID( 
            /* [retval][out] */ BSTR *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MetaDlg( 
            metadlg_enum flags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GmeDlg( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ComponentDlg( 
            componentdlg_enum flags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PropDlg( 
            /* [in] */ IMgaObject *obj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttrDlg( 
            /* [in] */ IMgaObject *obj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowHelp( 
            /* [in] */ IMgaObject *obj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegistryBrowser( 
            /* [in] */ IMgaObject *obj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AnnotationBrowser( 
            /* [in] */ IMgaObject *obj,
            /* [in] */ IMgaRegNode *focus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RunComponent( 
            /* [in] */ BSTR progid,
            /* [in] */ IMgaProject *project,
            /* [in] */ IMgaFCO *focusobj,
            /* [in] */ IMgaFCOs *selectedobjs,
            /* [in] */ long param) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaLauncherVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaLauncher * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaLauncher * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaLauncher * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaLauncher * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaLauncher * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaLauncher * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaLauncher * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParadigmName )( 
            IMgaLauncher * This,
            /* [in] */ BSTR p);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ComponentType )( 
            IMgaLauncher * This,
            /* [in] */ componenttype_enum type);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Parameter )( 
            IMgaLauncher * This,
            /* [in] */ VARIANT p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParadigmName )( 
            IMgaLauncher * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnStr )( 
            IMgaLauncher * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Paradigm )( 
            IMgaLauncher * This,
            /* [retval][out] */ IMgaMetaProject **p);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProgID )( 
            IMgaLauncher * This,
            /* [retval][out] */ BSTR *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MetaDlg )( 
            IMgaLauncher * This,
            metadlg_enum flags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GmeDlg )( 
            IMgaLauncher * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ComponentDlg )( 
            IMgaLauncher * This,
            componentdlg_enum flags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PropDlg )( 
            IMgaLauncher * This,
            /* [in] */ IMgaObject *obj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttrDlg )( 
            IMgaLauncher * This,
            /* [in] */ IMgaObject *obj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShowHelp )( 
            IMgaLauncher * This,
            /* [in] */ IMgaObject *obj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegistryBrowser )( 
            IMgaLauncher * This,
            /* [in] */ IMgaObject *obj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AnnotationBrowser )( 
            IMgaLauncher * This,
            /* [in] */ IMgaObject *obj,
            /* [in] */ IMgaRegNode *focus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RunComponent )( 
            IMgaLauncher * This,
            /* [in] */ BSTR progid,
            /* [in] */ IMgaProject *project,
            /* [in] */ IMgaFCO *focusobj,
            /* [in] */ IMgaFCOs *selectedobjs,
            /* [in] */ long param);
        
        END_INTERFACE
    } IMgaLauncherVtbl;

    interface IMgaLauncher
    {
        CONST_VTBL struct IMgaLauncherVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaLauncher_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaLauncher_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaLauncher_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaLauncher_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaLauncher_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaLauncher_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaLauncher_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaLauncher_put_ParadigmName(This,p)	\
    (This)->lpVtbl -> put_ParadigmName(This,p)

#define IMgaLauncher_put_ComponentType(This,type)	\
    (This)->lpVtbl -> put_ComponentType(This,type)

#define IMgaLauncher_put_Parameter(This,p)	\
    (This)->lpVtbl -> put_Parameter(This,p)

#define IMgaLauncher_get_ParadigmName(This,p)	\
    (This)->lpVtbl -> get_ParadigmName(This,p)

#define IMgaLauncher_get_ConnStr(This,p)	\
    (This)->lpVtbl -> get_ConnStr(This,p)

#define IMgaLauncher_get_Paradigm(This,p)	\
    (This)->lpVtbl -> get_Paradigm(This,p)

#define IMgaLauncher_get_ProgID(This,p)	\
    (This)->lpVtbl -> get_ProgID(This,p)

#define IMgaLauncher_MetaDlg(This,flags)	\
    (This)->lpVtbl -> MetaDlg(This,flags)

#define IMgaLauncher_GmeDlg(This)	\
    (This)->lpVtbl -> GmeDlg(This)

#define IMgaLauncher_ComponentDlg(This,flags)	\
    (This)->lpVtbl -> ComponentDlg(This,flags)

#define IMgaLauncher_PropDlg(This,obj)	\
    (This)->lpVtbl -> PropDlg(This,obj)

#define IMgaLauncher_AttrDlg(This,obj)	\
    (This)->lpVtbl -> AttrDlg(This,obj)

#define IMgaLauncher_ShowHelp(This,obj)	\
    (This)->lpVtbl -> ShowHelp(This,obj)

#define IMgaLauncher_RegistryBrowser(This,obj)	\
    (This)->lpVtbl -> RegistryBrowser(This,obj)

#define IMgaLauncher_AnnotationBrowser(This,obj,focus)	\
    (This)->lpVtbl -> AnnotationBrowser(This,obj,focus)

#define IMgaLauncher_RunComponent(This,progid,project,focusobj,selectedobjs,param)	\
    (This)->lpVtbl -> RunComponent(This,progid,project,focusobj,selectedobjs,param)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_put_ParadigmName_Proxy( 
    IMgaLauncher * This,
    /* [in] */ BSTR p);


void __RPC_STUB IMgaLauncher_put_ParadigmName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_put_ComponentType_Proxy( 
    IMgaLauncher * This,
    /* [in] */ componenttype_enum type);


void __RPC_STUB IMgaLauncher_put_ComponentType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_put_Parameter_Proxy( 
    IMgaLauncher * This,
    /* [in] */ VARIANT p);


void __RPC_STUB IMgaLauncher_put_Parameter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_get_ParadigmName_Proxy( 
    IMgaLauncher * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaLauncher_get_ParadigmName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_get_ConnStr_Proxy( 
    IMgaLauncher * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaLauncher_get_ConnStr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_get_Paradigm_Proxy( 
    IMgaLauncher * This,
    /* [retval][out] */ IMgaMetaProject **p);


void __RPC_STUB IMgaLauncher_get_Paradigm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_get_ProgID_Proxy( 
    IMgaLauncher * This,
    /* [retval][out] */ BSTR *p);


void __RPC_STUB IMgaLauncher_get_ProgID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_MetaDlg_Proxy( 
    IMgaLauncher * This,
    metadlg_enum flags);


void __RPC_STUB IMgaLauncher_MetaDlg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_GmeDlg_Proxy( 
    IMgaLauncher * This);


void __RPC_STUB IMgaLauncher_GmeDlg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_ComponentDlg_Proxy( 
    IMgaLauncher * This,
    componentdlg_enum flags);


void __RPC_STUB IMgaLauncher_ComponentDlg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_PropDlg_Proxy( 
    IMgaLauncher * This,
    /* [in] */ IMgaObject *obj);


void __RPC_STUB IMgaLauncher_PropDlg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_AttrDlg_Proxy( 
    IMgaLauncher * This,
    /* [in] */ IMgaObject *obj);


void __RPC_STUB IMgaLauncher_AttrDlg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_ShowHelp_Proxy( 
    IMgaLauncher * This,
    /* [in] */ IMgaObject *obj);


void __RPC_STUB IMgaLauncher_ShowHelp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_RegistryBrowser_Proxy( 
    IMgaLauncher * This,
    /* [in] */ IMgaObject *obj);


void __RPC_STUB IMgaLauncher_RegistryBrowser_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_AnnotationBrowser_Proxy( 
    IMgaLauncher * This,
    /* [in] */ IMgaObject *obj,
    /* [in] */ IMgaRegNode *focus);


void __RPC_STUB IMgaLauncher_AnnotationBrowser_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaLauncher_RunComponent_Proxy( 
    IMgaLauncher * This,
    /* [in] */ BSTR progid,
    /* [in] */ IMgaProject *project,
    /* [in] */ IMgaFCO *focusobj,
    /* [in] */ IMgaFCOs *selectedobjs,
    /* [in] */ long param);


void __RPC_STUB IMgaLauncher_RunComponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaLauncher_INTERFACE_DEFINED__ */


#ifndef __IMgaProgressDlg_INTERFACE_DEFINED__
#define __IMgaProgressDlg_INTERFACE_DEFINED__

/* interface IMgaProgressDlg */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IMgaProgressDlg;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D0317326-447B-12D4-B3F6-005004D38590")
    IMgaProgressDlg : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTitle( 
            /* [in] */ BSTR title) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLine( 
            /* [in] */ int line,
            /* [in] */ BSTR msg) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartProgressDialog( 
            /* [in] */ HWND hwndParent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HasUserCancelled( 
            /* [retval][out] */ VARIANT_BOOL *p) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetProgress( 
            /* [in] */ long completed,
            /* [in] */ long total) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopProgressDialog( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaProgressDlgVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaProgressDlg * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaProgressDlg * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaProgressDlg * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTitle )( 
            IMgaProgressDlg * This,
            /* [in] */ BSTR title);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLine )( 
            IMgaProgressDlg * This,
            /* [in] */ int line,
            /* [in] */ BSTR msg);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartProgressDialog )( 
            IMgaProgressDlg * This,
            /* [in] */ HWND hwndParent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasUserCancelled )( 
            IMgaProgressDlg * This,
            /* [retval][out] */ VARIANT_BOOL *p);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetProgress )( 
            IMgaProgressDlg * This,
            /* [in] */ long completed,
            /* [in] */ long total);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StopProgressDialog )( 
            IMgaProgressDlg * This);
        
        END_INTERFACE
    } IMgaProgressDlgVtbl;

    interface IMgaProgressDlg
    {
        CONST_VTBL struct IMgaProgressDlgVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaProgressDlg_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaProgressDlg_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaProgressDlg_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaProgressDlg_SetTitle(This,title)	\
    (This)->lpVtbl -> SetTitle(This,title)

#define IMgaProgressDlg_SetLine(This,line,msg)	\
    (This)->lpVtbl -> SetLine(This,line,msg)

#define IMgaProgressDlg_StartProgressDialog(This,hwndParent)	\
    (This)->lpVtbl -> StartProgressDialog(This,hwndParent)

#define IMgaProgressDlg_HasUserCancelled(This,p)	\
    (This)->lpVtbl -> HasUserCancelled(This,p)

#define IMgaProgressDlg_SetProgress(This,completed,total)	\
    (This)->lpVtbl -> SetProgress(This,completed,total)

#define IMgaProgressDlg_StopProgressDialog(This)	\
    (This)->lpVtbl -> StopProgressDialog(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProgressDlg_SetTitle_Proxy( 
    IMgaProgressDlg * This,
    /* [in] */ BSTR title);


void __RPC_STUB IMgaProgressDlg_SetTitle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProgressDlg_SetLine_Proxy( 
    IMgaProgressDlg * This,
    /* [in] */ int line,
    /* [in] */ BSTR msg);


void __RPC_STUB IMgaProgressDlg_SetLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProgressDlg_StartProgressDialog_Proxy( 
    IMgaProgressDlg * This,
    /* [in] */ HWND hwndParent);


void __RPC_STUB IMgaProgressDlg_StartProgressDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProgressDlg_HasUserCancelled_Proxy( 
    IMgaProgressDlg * This,
    /* [retval][out] */ VARIANT_BOOL *p);


void __RPC_STUB IMgaProgressDlg_HasUserCancelled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProgressDlg_SetProgress_Proxy( 
    IMgaProgressDlg * This,
    /* [in] */ long completed,
    /* [in] */ long total);


void __RPC_STUB IMgaProgressDlg_SetProgress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaProgressDlg_StopProgressDialog_Proxy( 
    IMgaProgressDlg * This);


void __RPC_STUB IMgaProgressDlg_StopProgressDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaProgressDlg_INTERFACE_DEFINED__ */


#ifndef __IMgaComponentProxy_INTERFACE_DEFINED__
#define __IMgaComponentProxy_INTERFACE_DEFINED__

/* interface IMgaComponentProxy */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IMgaComponentProxy;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FF01497A-36EB-4EA7-BE44-2FA98BD703DB")
    IMgaComponentProxy : public IUnknown
    {
    public:
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DispatchComponent( 
            /* [in] */ IDispatch *component) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaComponentProxyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaComponentProxy * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaComponentProxy * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaComponentProxy * This);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DispatchComponent )( 
            IMgaComponentProxy * This,
            /* [in] */ IDispatch *component);
        
        END_INTERFACE
    } IMgaComponentProxyVtbl;

    interface IMgaComponentProxy
    {
        CONST_VTBL struct IMgaComponentProxyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaComponentProxy_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaComponentProxy_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaComponentProxy_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaComponentProxy_put_DispatchComponent(This,component)	\
    (This)->lpVtbl -> put_DispatchComponent(This,component)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaComponentProxy_put_DispatchComponent_Proxy( 
    IMgaComponentProxy * This,
    /* [in] */ IDispatch *component);


void __RPC_STUB IMgaComponentProxy_put_DispatchComponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaComponentProxy_INTERFACE_DEFINED__ */


#ifndef __IMgaXsltFileSel_INTERFACE_DEFINED__
#define __IMgaXsltFileSel_INTERFACE_DEFINED__

/* interface IMgaXsltFileSel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IMgaXsltFileSel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4B3E98D4-96AF-4640-B947-7555E2E6A60B")
    IMgaXsltFileSel : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartXslt( 
            /* [in] */ BSTR in_f,
            /* [out] */ BSTR *out_f) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaXsltFileSelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaXsltFileSel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaXsltFileSel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaXsltFileSel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartXslt )( 
            IMgaXsltFileSel * This,
            /* [in] */ BSTR in_f,
            /* [out] */ BSTR *out_f);
        
        END_INTERFACE
    } IMgaXsltFileSelVtbl;

    interface IMgaXsltFileSel
    {
        CONST_VTBL struct IMgaXsltFileSelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaXsltFileSel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaXsltFileSel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaXsltFileSel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaXsltFileSel_StartXslt(This,in_f,out_f)	\
    (This)->lpVtbl -> StartXslt(This,in_f,out_f)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaXsltFileSel_StartXslt_Proxy( 
    IMgaXsltFileSel * This,
    /* [in] */ BSTR in_f,
    /* [out] */ BSTR *out_f);


void __RPC_STUB IMgaXsltFileSel_StartXslt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaXsltFileSel_INTERFACE_DEFINED__ */


#ifndef __IMgaClosure_INTERFACE_DEFINED__
#define __IMgaClosure_INTERFACE_DEFINED__

/* interface IMgaClosure */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaClosure;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("74348E5A-C76D-4c2e-88D5-D968C01CE432")
    IMgaClosure : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastClosureId( 
            /* [in] */ IMgaProject *p_project,
            /* [retval][out] */ long *p_pMarkWith) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutLastClosureId( 
            /* [in] */ IMgaProject *p_project,
            /* [in] */ long p_iMarkWith) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectiveClosureDlg( 
            /* [in] */ VARIANT_BOOL folder_containment_needed,
            /* [out] */ VARIANT_BOOL *refers_to,
            /* [out] */ VARIANT_BOOL *referred_by,
            /* [out] */ VARIANT_BOOL *connections,
            /* [out] */ VARIANT_BOOL *conns_through_refport,
            /* [out] */ VARIANT_BOOL *set_members,
            /* [out] */ VARIANT_BOOL *member_of_sets,
            /* [out] */ VARIANT_BOOL *model_containment,
            /* [out] */ VARIANT_BOOL *part_of_models,
            /* [out] */ VARIANT_BOOL *folder_containment,
            /* [out] */ VARIANT_BOOL *part_of_folders,
            /* [out] */ VARIANT_BOOL *base_type_of,
            /* [out] */ VARIANT_BOOL *derived_types_of,
            /* [out] */ long *library_element_handling,
            /* [out] */ long *wrapping,
            /* [out] */ long *kind_filter,
            /* [out][in] */ long *mark_value,
            /* [out] */ long *options,
            /* [out] */ VARIANT_BOOL *direction_down,
            /* [out] */ VARIANT_BOOL *copy_to_file,
            /* [out] */ VARIANT_BOOL *ok_pressed,
            /* [out] */ BSTR *file_name_selected) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SelectiveClosureCalc( 
            /* [in] */ IMgaFCOs *init_sel_fcos,
            /* [in] */ IMgaFolders *init_sel_folders,
            /* [in] */ VARIANT_BOOL refers_to,
            /* [in] */ VARIANT_BOOL referred_by,
            /* [in] */ VARIANT_BOOL connections,
            /* [in] */ VARIANT_BOOL conns_through_refport,
            /* [in] */ VARIANT_BOOL set_members,
            /* [in] */ VARIANT_BOOL member_of_sets,
            /* [in] */ VARIANT_BOOL model_containment,
            /* [in] */ VARIANT_BOOL part_of_models,
            /* [in] */ VARIANT_BOOL folder_containment,
            /* [in] */ VARIANT_BOOL part_of_folders,
            /* [in] */ VARIANT_BOOL base_type_of,
            /* [in] */ VARIANT_BOOL derived_types_of,
            /* [in] */ long library_element_handling,
            /* [in] */ long wrapping,
            /* [in] */ long kind_filter,
            /* [in] */ long mark_value,
            /* [in] */ VARIANT_BOOL direction_down,
            /* [out] */ IMgaFCOs **sel_fcos,
            /* [out] */ IMgaFolders **sel_folders,
            /* [out] */ IMgaFCOs **top_fcos,
            /* [out] */ IMgaFolders **top_folders,
            /* [out] */ VARIANT_BOOL *top_collections_filled,
            /* [out] */ BSTR *acc_kinds) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SmartCopy( 
            /* [in] */ IMgaFCOs *init_sel_fcos,
            /* [in] */ IMgaFolders *init_sel_folders,
            /* [out] */ IMgaFCOs **sel_fcos,
            /* [out] */ IMgaFolders **sel_folders,
            /* [out] */ IMgaFCOs **top_fcos,
            /* [out] */ IMgaFolders **top_folders,
            /* [in] */ int folder_containment,
            /* [out] */ long *options,
            /* [out] */ BSTR *acckinds,
            /* [out] */ BSTR *path) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaClosureVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaClosure * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaClosure * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaClosure * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaClosure * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaClosure * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaClosure * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaClosure * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastClosureId )( 
            IMgaClosure * This,
            /* [in] */ IMgaProject *p_project,
            /* [retval][out] */ long *p_pMarkWith);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutLastClosureId )( 
            IMgaClosure * This,
            /* [in] */ IMgaProject *p_project,
            /* [in] */ long p_iMarkWith);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SelectiveClosureDlg )( 
            IMgaClosure * This,
            /* [in] */ VARIANT_BOOL folder_containment_needed,
            /* [out] */ VARIANT_BOOL *refers_to,
            /* [out] */ VARIANT_BOOL *referred_by,
            /* [out] */ VARIANT_BOOL *connections,
            /* [out] */ VARIANT_BOOL *conns_through_refport,
            /* [out] */ VARIANT_BOOL *set_members,
            /* [out] */ VARIANT_BOOL *member_of_sets,
            /* [out] */ VARIANT_BOOL *model_containment,
            /* [out] */ VARIANT_BOOL *part_of_models,
            /* [out] */ VARIANT_BOOL *folder_containment,
            /* [out] */ VARIANT_BOOL *part_of_folders,
            /* [out] */ VARIANT_BOOL *base_type_of,
            /* [out] */ VARIANT_BOOL *derived_types_of,
            /* [out] */ long *library_element_handling,
            /* [out] */ long *wrapping,
            /* [out] */ long *kind_filter,
            /* [out][in] */ long *mark_value,
            /* [out] */ long *options,
            /* [out] */ VARIANT_BOOL *direction_down,
            /* [out] */ VARIANT_BOOL *copy_to_file,
            /* [out] */ VARIANT_BOOL *ok_pressed,
            /* [out] */ BSTR *file_name_selected);
        
        HRESULT ( STDMETHODCALLTYPE *SelectiveClosureCalc )( 
            IMgaClosure * This,
            /* [in] */ IMgaFCOs *init_sel_fcos,
            /* [in] */ IMgaFolders *init_sel_folders,
            /* [in] */ VARIANT_BOOL refers_to,
            /* [in] */ VARIANT_BOOL referred_by,
            /* [in] */ VARIANT_BOOL connections,
            /* [in] */ VARIANT_BOOL conns_through_refport,
            /* [in] */ VARIANT_BOOL set_members,
            /* [in] */ VARIANT_BOOL member_of_sets,
            /* [in] */ VARIANT_BOOL model_containment,
            /* [in] */ VARIANT_BOOL part_of_models,
            /* [in] */ VARIANT_BOOL folder_containment,
            /* [in] */ VARIANT_BOOL part_of_folders,
            /* [in] */ VARIANT_BOOL base_type_of,
            /* [in] */ VARIANT_BOOL derived_types_of,
            /* [in] */ long library_element_handling,
            /* [in] */ long wrapping,
            /* [in] */ long kind_filter,
            /* [in] */ long mark_value,
            /* [in] */ VARIANT_BOOL direction_down,
            /* [out] */ IMgaFCOs **sel_fcos,
            /* [out] */ IMgaFolders **sel_folders,
            /* [out] */ IMgaFCOs **top_fcos,
            /* [out] */ IMgaFolders **top_folders,
            /* [out] */ VARIANT_BOOL *top_collections_filled,
            /* [out] */ BSTR *acc_kinds);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SmartCopy )( 
            IMgaClosure * This,
            /* [in] */ IMgaFCOs *init_sel_fcos,
            /* [in] */ IMgaFolders *init_sel_folders,
            /* [out] */ IMgaFCOs **sel_fcos,
            /* [out] */ IMgaFolders **sel_folders,
            /* [out] */ IMgaFCOs **top_fcos,
            /* [out] */ IMgaFolders **top_folders,
            /* [in] */ int folder_containment,
            /* [out] */ long *options,
            /* [out] */ BSTR *acckinds,
            /* [out] */ BSTR *path);
        
        END_INTERFACE
    } IMgaClosureVtbl;

    interface IMgaClosure
    {
        CONST_VTBL struct IMgaClosureVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaClosure_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaClosure_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaClosure_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaClosure_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaClosure_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaClosure_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaClosure_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaClosure_GetLastClosureId(This,p_project,p_pMarkWith)	\
    (This)->lpVtbl -> GetLastClosureId(This,p_project,p_pMarkWith)

#define IMgaClosure_PutLastClosureId(This,p_project,p_iMarkWith)	\
    (This)->lpVtbl -> PutLastClosureId(This,p_project,p_iMarkWith)

#define IMgaClosure_SelectiveClosureDlg(This,folder_containment_needed,refers_to,referred_by,connections,conns_through_refport,set_members,member_of_sets,model_containment,part_of_models,folder_containment,part_of_folders,base_type_of,derived_types_of,library_element_handling,wrapping,kind_filter,mark_value,options,direction_down,copy_to_file,ok_pressed,file_name_selected)	\
    (This)->lpVtbl -> SelectiveClosureDlg(This,folder_containment_needed,refers_to,referred_by,connections,conns_through_refport,set_members,member_of_sets,model_containment,part_of_models,folder_containment,part_of_folders,base_type_of,derived_types_of,library_element_handling,wrapping,kind_filter,mark_value,options,direction_down,copy_to_file,ok_pressed,file_name_selected)

#define IMgaClosure_SelectiveClosureCalc(This,init_sel_fcos,init_sel_folders,refers_to,referred_by,connections,conns_through_refport,set_members,member_of_sets,model_containment,part_of_models,folder_containment,part_of_folders,base_type_of,derived_types_of,library_element_handling,wrapping,kind_filter,mark_value,direction_down,sel_fcos,sel_folders,top_fcos,top_folders,top_collections_filled,acc_kinds)	\
    (This)->lpVtbl -> SelectiveClosureCalc(This,init_sel_fcos,init_sel_folders,refers_to,referred_by,connections,conns_through_refport,set_members,member_of_sets,model_containment,part_of_models,folder_containment,part_of_folders,base_type_of,derived_types_of,library_element_handling,wrapping,kind_filter,mark_value,direction_down,sel_fcos,sel_folders,top_fcos,top_folders,top_collections_filled,acc_kinds)

#define IMgaClosure_SmartCopy(This,init_sel_fcos,init_sel_folders,sel_fcos,sel_folders,top_fcos,top_folders,folder_containment,options,acckinds,path)	\
    (This)->lpVtbl -> SmartCopy(This,init_sel_fcos,init_sel_folders,sel_fcos,sel_folders,top_fcos,top_folders,folder_containment,options,acckinds,path)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClosure_GetLastClosureId_Proxy( 
    IMgaClosure * This,
    /* [in] */ IMgaProject *p_project,
    /* [retval][out] */ long *p_pMarkWith);


void __RPC_STUB IMgaClosure_GetLastClosureId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClosure_PutLastClosureId_Proxy( 
    IMgaClosure * This,
    /* [in] */ IMgaProject *p_project,
    /* [in] */ long p_iMarkWith);


void __RPC_STUB IMgaClosure_PutLastClosureId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClosure_SelectiveClosureDlg_Proxy( 
    IMgaClosure * This,
    /* [in] */ VARIANT_BOOL folder_containment_needed,
    /* [out] */ VARIANT_BOOL *refers_to,
    /* [out] */ VARIANT_BOOL *referred_by,
    /* [out] */ VARIANT_BOOL *connections,
    /* [out] */ VARIANT_BOOL *conns_through_refport,
    /* [out] */ VARIANT_BOOL *set_members,
    /* [out] */ VARIANT_BOOL *member_of_sets,
    /* [out] */ VARIANT_BOOL *model_containment,
    /* [out] */ VARIANT_BOOL *part_of_models,
    /* [out] */ VARIANT_BOOL *folder_containment,
    /* [out] */ VARIANT_BOOL *part_of_folders,
    /* [out] */ VARIANT_BOOL *base_type_of,
    /* [out] */ VARIANT_BOOL *derived_types_of,
    /* [out] */ long *library_element_handling,
    /* [out] */ long *wrapping,
    /* [out] */ long *kind_filter,
    /* [out][in] */ long *mark_value,
    /* [out] */ long *options,
    /* [out] */ VARIANT_BOOL *direction_down,
    /* [out] */ VARIANT_BOOL *copy_to_file,
    /* [out] */ VARIANT_BOOL *ok_pressed,
    /* [out] */ BSTR *file_name_selected);


void __RPC_STUB IMgaClosure_SelectiveClosureDlg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IMgaClosure_SelectiveClosureCalc_Proxy( 
    IMgaClosure * This,
    /* [in] */ IMgaFCOs *init_sel_fcos,
    /* [in] */ IMgaFolders *init_sel_folders,
    /* [in] */ VARIANT_BOOL refers_to,
    /* [in] */ VARIANT_BOOL referred_by,
    /* [in] */ VARIANT_BOOL connections,
    /* [in] */ VARIANT_BOOL conns_through_refport,
    /* [in] */ VARIANT_BOOL set_members,
    /* [in] */ VARIANT_BOOL member_of_sets,
    /* [in] */ VARIANT_BOOL model_containment,
    /* [in] */ VARIANT_BOOL part_of_models,
    /* [in] */ VARIANT_BOOL folder_containment,
    /* [in] */ VARIANT_BOOL part_of_folders,
    /* [in] */ VARIANT_BOOL base_type_of,
    /* [in] */ VARIANT_BOOL derived_types_of,
    /* [in] */ long library_element_handling,
    /* [in] */ long wrapping,
    /* [in] */ long kind_filter,
    /* [in] */ long mark_value,
    /* [in] */ VARIANT_BOOL direction_down,
    /* [out] */ IMgaFCOs **sel_fcos,
    /* [out] */ IMgaFolders **sel_folders,
    /* [out] */ IMgaFCOs **top_fcos,
    /* [out] */ IMgaFolders **top_folders,
    /* [out] */ VARIANT_BOOL *top_collections_filled,
    /* [out] */ BSTR *acc_kinds);


void __RPC_STUB IMgaClosure_SelectiveClosureCalc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaClosure_SmartCopy_Proxy( 
    IMgaClosure * This,
    /* [in] */ IMgaFCOs *init_sel_fcos,
    /* [in] */ IMgaFolders *init_sel_folders,
    /* [out] */ IMgaFCOs **sel_fcos,
    /* [out] */ IMgaFolders **sel_folders,
    /* [out] */ IMgaFCOs **top_fcos,
    /* [out] */ IMgaFolders **top_folders,
    /* [in] */ int folder_containment,
    /* [out] */ long *options,
    /* [out] */ BSTR *acckinds,
    /* [out] */ BSTR *path);


void __RPC_STUB IMgaClosure_SmartCopy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaClosure_INTERFACE_DEFINED__ */


#ifndef __IMgaEventLogger_INTERFACE_DEFINED__
#define __IMgaEventLogger_INTERFACE_DEFINED__

/* interface IMgaEventLogger */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaEventLogger;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9D46C230-31A5-4248-B61E-4223FA6A7F7A")
    IMgaEventLogger : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LogEvent( 
            /* [in] */ BSTR eventMsg) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartLogging( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopLogging( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EmergencyEvent( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaEventLoggerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaEventLogger * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaEventLogger * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaEventLogger * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaEventLogger * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaEventLogger * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaEventLogger * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaEventLogger * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LogEvent )( 
            IMgaEventLogger * This,
            /* [in] */ BSTR eventMsg);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartLogging )( 
            IMgaEventLogger * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StopLogging )( 
            IMgaEventLogger * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EmergencyEvent )( 
            IMgaEventLogger * This);
        
        END_INTERFACE
    } IMgaEventLoggerVtbl;

    interface IMgaEventLogger
    {
        CONST_VTBL struct IMgaEventLoggerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaEventLogger_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaEventLogger_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaEventLogger_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaEventLogger_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaEventLogger_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaEventLogger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaEventLogger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaEventLogger_LogEvent(This,eventMsg)	\
    (This)->lpVtbl -> LogEvent(This,eventMsg)

#define IMgaEventLogger_StartLogging(This)	\
    (This)->lpVtbl -> StartLogging(This)

#define IMgaEventLogger_StopLogging(This)	\
    (This)->lpVtbl -> StopLogging(This)

#define IMgaEventLogger_EmergencyEvent(This)	\
    (This)->lpVtbl -> EmergencyEvent(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaEventLogger_LogEvent_Proxy( 
    IMgaEventLogger * This,
    /* [in] */ BSTR eventMsg);


void __RPC_STUB IMgaEventLogger_LogEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaEventLogger_StartLogging_Proxy( 
    IMgaEventLogger * This);


void __RPC_STUB IMgaEventLogger_StartLogging_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaEventLogger_StopLogging_Proxy( 
    IMgaEventLogger * This);


void __RPC_STUB IMgaEventLogger_StopLogging_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaEventLogger_EmergencyEvent_Proxy( 
    IMgaEventLogger * This);


void __RPC_STUB IMgaEventLogger_EmergencyEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaEventLogger_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0339 */
/* [local] */ 


typedef 
enum msgtype_enum
    {	MSG_NORMAL	= 0,
	MSG_INFO	= 1,
	MSG_WARNING	= 2,
	MSG_ERROR	= 3
    } 	msgtype_enum;

typedef 
enum editmode_enum
    {	MODE_EDIT	= 0,
	MODE_CONNECT	= 1,
	MODE_DISCONNECT	= 2,
	MODE_SET	= 3,
	MODE_ZOOM	= 4,
	MODE_VISUALIZE	= 5
    } 	editmode_enum;

typedef 
enum bar_enum
    {	BAR_HORIZ	= 0,
	BAR_VERTI	= 1
    } 	bar_enum;

typedef 
enum scroll_enum
    {	SCROL_UP	= 0,
	SCROL_DOWN	= 1,
	SCROL_PGUP	= 2,
	SCROL_PGDN	= 3,
	SCROL_HOME	= 4,
	SCROL_END	= 5
    } 	scroll_enum;

typedef 
enum attribpanel_page
    {	PAGE_ATTRIB	= 0,
	PAGE_PREF	= 1,
	PAGE_PROP	= 2
    } 	attribpanel_page;



extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0339_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0339_v0_0_s_ifspec;

#ifndef __IMgaDataSource_INTERFACE_DEFINED__
#define __IMgaDataSource_INTERFACE_DEFINED__

/* interface IMgaDataSource */
/* [object][dual][oleautomation][uuid] */ 


EXTERN_C const IID IID_IMgaDataSource;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9FF8F4E0-E0C9-11d3-B376-005004D38590")
    IMgaDataSource : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Folders( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_RegistryData( 
            /* [retval][out] */ IUnknown **p) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Project( 
            /* [retval][out] */ IUnknown **p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaDataSourceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaDataSource * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaDataSource * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaDataSource * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaDataSource * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaDataSource * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaDataSource * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaDataSource * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            IMgaDataSource * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Folders )( 
            IMgaDataSource * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistryData )( 
            IMgaDataSource * This,
            /* [retval][out] */ IUnknown **p);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Project )( 
            IMgaDataSource * This,
            /* [retval][out] */ IUnknown **p);
        
        END_INTERFACE
    } IMgaDataSourceVtbl;

    interface IMgaDataSource
    {
        CONST_VTBL struct IMgaDataSourceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaDataSource_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaDataSource_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaDataSource_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaDataSource_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaDataSource_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaDataSource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaDataSource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaDataSource_get_Data(This,p)	\
    (This)->lpVtbl -> get_Data(This,p)

#define IMgaDataSource_get_Folders(This,p)	\
    (This)->lpVtbl -> get_Folders(This,p)

#define IMgaDataSource_get_RegistryData(This,p)	\
    (This)->lpVtbl -> get_RegistryData(This,p)

#define IMgaDataSource_get_Project(This,p)	\
    (This)->lpVtbl -> get_Project(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaDataSource_get_Data_Proxy( 
    IMgaDataSource * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaDataSource_get_Data_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaDataSource_get_Folders_Proxy( 
    IMgaDataSource * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaDataSource_get_Folders_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaDataSource_get_RegistryData_Proxy( 
    IMgaDataSource * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaDataSource_get_RegistryData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMgaDataSource_get_Project_Proxy( 
    IMgaDataSource * This,
    /* [retval][out] */ IUnknown **p);


void __RPC_STUB IMgaDataSource_get_Project_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaDataSource_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0342 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0342_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0342_v0_0_s_ifspec;

#ifndef __IGMEOLEApp_INTERFACE_DEFINED__
#define __IGMEOLEApp_INTERFACE_DEFINED__

/* interface IGMEOLEApp */
/* [object][dual][oleautomation][uuid] */ 


EXTERN_C const IID IID_IGMEOLEApp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("81191A44-B898-4143-BF8B-CA7501FEC19A")
    IGMEOLEApp : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL isVisible) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *isVisible) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *versionStr) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_VersionMajor( 
            /* [retval][out] */ short *n) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_VersionMinor( 
            /* [retval][out] */ short *n) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_VersionPatchLevel( 
            /* [retval][out] */ short *n) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Models( 
            /* [retval][out] */ IGMEOLEColl **coll) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MgaProject( 
            /* [retval][out] */ IMgaProject **project) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Panels( 
            /* [retval][out] */ IGMEOLEColl **coll) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ConsoleContents( 
            /* [in] */ BSTR contents) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ConsoleContents( 
            /* [retval][out] */ BSTR *contents) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CreateProject( 
            /* [in] */ BSTR metaname,
            /* [in] */ BSTR connstr) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OpenProject( 
            /* [in] */ BSTR connstr) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CreateProjectDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OpenProjectDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CloseProject( 
            /* [in] */ VARIANT_BOOL saveOnClose) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SaveProject( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SaveProjectAs( 
            /* [in] */ BSTR connstr) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SaveProjectAsDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ExportProject( 
            /* [in] */ BSTR connstr) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ImportProject( 
            /* [in] */ BSTR connstr) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ConstraintsDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CheckAllConstraints( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RegisterParagimsDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RegisterComponentsDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RunComponent( 
            /* [in] */ BSTR progID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RunComponentDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SettingsDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Undo( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Redo( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ClearUndoQueue( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ProjectPropertiesDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ShowHelpContents( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ShowAbout( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ShowFCO( 
            /* [in] */ IMgaFCO *mgaFCO,
            /* [defaultvalue][in] */ VARIANT_BOOL inParent = 0) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ConsoleMessage( 
            /* [in] */ BSTR msg,
            /* [in] */ msgtype_enum type) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ConsoleClear( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ChangeEditmode( 
            /* [in] */ editmode_enum mode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GridShow( 
            /* [in] */ VARIANT_BOOL show) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AttributepanelPage( 
            /* [in] */ attribpanel_page page) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_OleIt( 
            /* [retval][out] */ IGMEOLEIt **mgamodel) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisableComp( 
            /* [in] */ BSTR pCompProgID,
            /* [in] */ VARIANT_BOOL pDisable) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisableCompForKinds( 
            /* [in] */ BSTR pCompProgID,
            /* [in] */ BSTR pKindSequenceDelimitedBySemicolon) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCompFiltering( 
            /* [in] */ VARIANT_BOOL pTurnOn) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCompFiltering( 
            /* [retval][out] */ VARIANT_BOOL *pPtrTurnedOn) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetWorkingDirectory( 
            /* [in] */ BSTR pDirPath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Exit( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RefreshLib( 
            /* [in] */ BSTR pLibName,
            /* [in] */ VARIANT_BOOL ungroup,
            /* [retval][out] */ long *numOfErrors) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGMEOLEAppVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGMEOLEApp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGMEOLEApp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGMEOLEApp * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGMEOLEApp * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGMEOLEApp * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGMEOLEApp * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGMEOLEApp * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IGMEOLEApp * This,
            /* [in] */ VARIANT_BOOL isVisible);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IGMEOLEApp * This,
            /* [retval][out] */ VARIANT_BOOL *isVisible);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IGMEOLEApp * This,
            /* [retval][out] */ BSTR *versionStr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionMajor )( 
            IGMEOLEApp * This,
            /* [retval][out] */ short *n);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionMinor )( 
            IGMEOLEApp * This,
            /* [retval][out] */ short *n);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionPatchLevel )( 
            IGMEOLEApp * This,
            /* [retval][out] */ short *n);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Models )( 
            IGMEOLEApp * This,
            /* [retval][out] */ IGMEOLEColl **coll);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MgaProject )( 
            IGMEOLEApp * This,
            /* [retval][out] */ IMgaProject **project);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Panels )( 
            IGMEOLEApp * This,
            /* [retval][out] */ IGMEOLEColl **coll);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConsoleContents )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR contents);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConsoleContents )( 
            IGMEOLEApp * This,
            /* [retval][out] */ BSTR *contents);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateProject )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR metaname,
            /* [in] */ BSTR connstr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OpenProject )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR connstr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateProjectDialog )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OpenProjectDialog )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CloseProject )( 
            IGMEOLEApp * This,
            /* [in] */ VARIANT_BOOL saveOnClose);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SaveProject )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SaveProjectAs )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR connstr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SaveProjectAsDialog )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ExportProject )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR connstr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ImportProject )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR connstr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ConstraintsDialog )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CheckAllConstraints )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RegisterParagimsDialog )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RegisterComponentsDialog )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RunComponent )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR progID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RunComponentDialog )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SettingsDialog )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Undo )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Redo )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ClearUndoQueue )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ProjectPropertiesDialog )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ShowHelpContents )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ShowAbout )( 
            IGMEOLEApp * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ShowFCO )( 
            IGMEOLEApp * This,
            /* [in] */ IMgaFCO *mgaFCO,
            /* [defaultvalue][in] */ VARIANT_BOOL inParent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ConsoleMessage )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR msg,
            /* [in] */ msgtype_enum type);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ConsoleClear )( 
            IGMEOLEApp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ChangeEditmode )( 
            IGMEOLEApp * This,
            /* [in] */ editmode_enum mode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GridShow )( 
            IGMEOLEApp * This,
            /* [in] */ VARIANT_BOOL show);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AttributepanelPage )( 
            IGMEOLEApp * This,
            /* [in] */ attribpanel_page page);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OleIt )( 
            IGMEOLEApp * This,
            /* [retval][out] */ IGMEOLEIt **mgamodel);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisableComp )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR pCompProgID,
            /* [in] */ VARIANT_BOOL pDisable);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisableCompForKinds )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR pCompProgID,
            /* [in] */ BSTR pKindSequenceDelimitedBySemicolon);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCompFiltering )( 
            IGMEOLEApp * This,
            /* [in] */ VARIANT_BOOL pTurnOn);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCompFiltering )( 
            IGMEOLEApp * This,
            /* [retval][out] */ VARIANT_BOOL *pPtrTurnedOn);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetWorkingDirectory )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR pDirPath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Exit )( 
            IGMEOLEApp * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RefreshLib )( 
            IGMEOLEApp * This,
            /* [in] */ BSTR pLibName,
            /* [in] */ VARIANT_BOOL ungroup,
            /* [retval][out] */ long *numOfErrors);
        
        END_INTERFACE
    } IGMEOLEAppVtbl;

    interface IGMEOLEApp
    {
        CONST_VTBL struct IGMEOLEAppVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGMEOLEApp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGMEOLEApp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGMEOLEApp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGMEOLEApp_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGMEOLEApp_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGMEOLEApp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGMEOLEApp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGMEOLEApp_put_Visible(This,isVisible)	\
    (This)->lpVtbl -> put_Visible(This,isVisible)

#define IGMEOLEApp_get_Visible(This,isVisible)	\
    (This)->lpVtbl -> get_Visible(This,isVisible)

#define IGMEOLEApp_get_Version(This,versionStr)	\
    (This)->lpVtbl -> get_Version(This,versionStr)

#define IGMEOLEApp_get_VersionMajor(This,n)	\
    (This)->lpVtbl -> get_VersionMajor(This,n)

#define IGMEOLEApp_get_VersionMinor(This,n)	\
    (This)->lpVtbl -> get_VersionMinor(This,n)

#define IGMEOLEApp_get_VersionPatchLevel(This,n)	\
    (This)->lpVtbl -> get_VersionPatchLevel(This,n)

#define IGMEOLEApp_get_Models(This,coll)	\
    (This)->lpVtbl -> get_Models(This,coll)

#define IGMEOLEApp_get_MgaProject(This,project)	\
    (This)->lpVtbl -> get_MgaProject(This,project)

#define IGMEOLEApp_get_Panels(This,coll)	\
    (This)->lpVtbl -> get_Panels(This,coll)

#define IGMEOLEApp_put_ConsoleContents(This,contents)	\
    (This)->lpVtbl -> put_ConsoleContents(This,contents)

#define IGMEOLEApp_get_ConsoleContents(This,contents)	\
    (This)->lpVtbl -> get_ConsoleContents(This,contents)

#define IGMEOLEApp_CreateProject(This,metaname,connstr)	\
    (This)->lpVtbl -> CreateProject(This,metaname,connstr)

#define IGMEOLEApp_OpenProject(This,connstr)	\
    (This)->lpVtbl -> OpenProject(This,connstr)

#define IGMEOLEApp_CreateProjectDialog(This)	\
    (This)->lpVtbl -> CreateProjectDialog(This)

#define IGMEOLEApp_OpenProjectDialog(This)	\
    (This)->lpVtbl -> OpenProjectDialog(This)

#define IGMEOLEApp_CloseProject(This,saveOnClose)	\
    (This)->lpVtbl -> CloseProject(This,saveOnClose)

#define IGMEOLEApp_SaveProject(This)	\
    (This)->lpVtbl -> SaveProject(This)

#define IGMEOLEApp_SaveProjectAs(This,connstr)	\
    (This)->lpVtbl -> SaveProjectAs(This,connstr)

#define IGMEOLEApp_SaveProjectAsDialog(This)	\
    (This)->lpVtbl -> SaveProjectAsDialog(This)

#define IGMEOLEApp_ExportProject(This,connstr)	\
    (This)->lpVtbl -> ExportProject(This,connstr)

#define IGMEOLEApp_ImportProject(This,connstr)	\
    (This)->lpVtbl -> ImportProject(This,connstr)

#define IGMEOLEApp_ConstraintsDialog(This)	\
    (This)->lpVtbl -> ConstraintsDialog(This)

#define IGMEOLEApp_CheckAllConstraints(This)	\
    (This)->lpVtbl -> CheckAllConstraints(This)

#define IGMEOLEApp_RegisterParagimsDialog(This)	\
    (This)->lpVtbl -> RegisterParagimsDialog(This)

#define IGMEOLEApp_RegisterComponentsDialog(This)	\
    (This)->lpVtbl -> RegisterComponentsDialog(This)

#define IGMEOLEApp_RunComponent(This,progID)	\
    (This)->lpVtbl -> RunComponent(This,progID)

#define IGMEOLEApp_RunComponentDialog(This)	\
    (This)->lpVtbl -> RunComponentDialog(This)

#define IGMEOLEApp_SettingsDialog(This)	\
    (This)->lpVtbl -> SettingsDialog(This)

#define IGMEOLEApp_Undo(This)	\
    (This)->lpVtbl -> Undo(This)

#define IGMEOLEApp_Redo(This)	\
    (This)->lpVtbl -> Redo(This)

#define IGMEOLEApp_ClearUndoQueue(This)	\
    (This)->lpVtbl -> ClearUndoQueue(This)

#define IGMEOLEApp_ProjectPropertiesDialog(This)	\
    (This)->lpVtbl -> ProjectPropertiesDialog(This)

#define IGMEOLEApp_ShowHelpContents(This)	\
    (This)->lpVtbl -> ShowHelpContents(This)

#define IGMEOLEApp_ShowAbout(This)	\
    (This)->lpVtbl -> ShowAbout(This)

#define IGMEOLEApp_ShowFCO(This,mgaFCO,inParent)	\
    (This)->lpVtbl -> ShowFCO(This,mgaFCO,inParent)

#define IGMEOLEApp_ConsoleMessage(This,msg,type)	\
    (This)->lpVtbl -> ConsoleMessage(This,msg,type)

#define IGMEOLEApp_ConsoleClear(This)	\
    (This)->lpVtbl -> ConsoleClear(This)

#define IGMEOLEApp_ChangeEditmode(This,mode)	\
    (This)->lpVtbl -> ChangeEditmode(This,mode)

#define IGMEOLEApp_GridShow(This,show)	\
    (This)->lpVtbl -> GridShow(This,show)

#define IGMEOLEApp_AttributepanelPage(This,page)	\
    (This)->lpVtbl -> AttributepanelPage(This,page)

#define IGMEOLEApp_get_OleIt(This,mgamodel)	\
    (This)->lpVtbl -> get_OleIt(This,mgamodel)

#define IGMEOLEApp_DisableComp(This,pCompProgID,pDisable)	\
    (This)->lpVtbl -> DisableComp(This,pCompProgID,pDisable)

#define IGMEOLEApp_DisableCompForKinds(This,pCompProgID,pKindSequenceDelimitedBySemicolon)	\
    (This)->lpVtbl -> DisableCompForKinds(This,pCompProgID,pKindSequenceDelimitedBySemicolon)

#define IGMEOLEApp_SetCompFiltering(This,pTurnOn)	\
    (This)->lpVtbl -> SetCompFiltering(This,pTurnOn)

#define IGMEOLEApp_GetCompFiltering(This,pPtrTurnedOn)	\
    (This)->lpVtbl -> GetCompFiltering(This,pPtrTurnedOn)

#define IGMEOLEApp_SetWorkingDirectory(This,pDirPath)	\
    (This)->lpVtbl -> SetWorkingDirectory(This,pDirPath)

#define IGMEOLEApp_Exit(This)	\
    (This)->lpVtbl -> Exit(This)

#define IGMEOLEApp_RefreshLib(This,pLibName,ungroup,numOfErrors)	\
    (This)->lpVtbl -> RefreshLib(This,pLibName,ungroup,numOfErrors)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_put_Visible_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ VARIANT_BOOL isVisible);


void __RPC_STUB IGMEOLEApp_put_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_Visible_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ VARIANT_BOOL *isVisible);


void __RPC_STUB IGMEOLEApp_get_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_Version_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ BSTR *versionStr);


void __RPC_STUB IGMEOLEApp_get_Version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_VersionMajor_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ short *n);


void __RPC_STUB IGMEOLEApp_get_VersionMajor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_VersionMinor_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ short *n);


void __RPC_STUB IGMEOLEApp_get_VersionMinor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_VersionPatchLevel_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ short *n);


void __RPC_STUB IGMEOLEApp_get_VersionPatchLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_Models_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ IGMEOLEColl **coll);


void __RPC_STUB IGMEOLEApp_get_Models_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_MgaProject_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ IMgaProject **project);


void __RPC_STUB IGMEOLEApp_get_MgaProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_Panels_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ IGMEOLEColl **coll);


void __RPC_STUB IGMEOLEApp_get_Panels_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_put_ConsoleContents_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR contents);


void __RPC_STUB IGMEOLEApp_put_ConsoleContents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_ConsoleContents_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ BSTR *contents);


void __RPC_STUB IGMEOLEApp_get_ConsoleContents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_CreateProject_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR metaname,
    /* [in] */ BSTR connstr);


void __RPC_STUB IGMEOLEApp_CreateProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_OpenProject_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR connstr);


void __RPC_STUB IGMEOLEApp_OpenProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_CreateProjectDialog_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_CreateProjectDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_OpenProjectDialog_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_OpenProjectDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_CloseProject_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ VARIANT_BOOL saveOnClose);


void __RPC_STUB IGMEOLEApp_CloseProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_SaveProject_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_SaveProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_SaveProjectAs_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR connstr);


void __RPC_STUB IGMEOLEApp_SaveProjectAs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_SaveProjectAsDialog_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_SaveProjectAsDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ExportProject_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR connstr);


void __RPC_STUB IGMEOLEApp_ExportProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ImportProject_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR connstr);


void __RPC_STUB IGMEOLEApp_ImportProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ConstraintsDialog_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_ConstraintsDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_CheckAllConstraints_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_CheckAllConstraints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_RegisterParagimsDialog_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_RegisterParagimsDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_RegisterComponentsDialog_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_RegisterComponentsDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_RunComponent_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR progID);


void __RPC_STUB IGMEOLEApp_RunComponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_RunComponentDialog_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_RunComponentDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_SettingsDialog_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_SettingsDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_Undo_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_Undo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_Redo_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_Redo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ClearUndoQueue_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_ClearUndoQueue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ProjectPropertiesDialog_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_ProjectPropertiesDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ShowHelpContents_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_ShowHelpContents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ShowAbout_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_ShowAbout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ShowFCO_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ IMgaFCO *mgaFCO,
    /* [defaultvalue][in] */ VARIANT_BOOL inParent);


void __RPC_STUB IGMEOLEApp_ShowFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ConsoleMessage_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR msg,
    /* [in] */ msgtype_enum type);


void __RPC_STUB IGMEOLEApp_ConsoleMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ConsoleClear_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_ConsoleClear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_ChangeEditmode_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ editmode_enum mode);


void __RPC_STUB IGMEOLEApp_ChangeEditmode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_GridShow_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ VARIANT_BOOL show);


void __RPC_STUB IGMEOLEApp_GridShow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_AttributepanelPage_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ attribpanel_page page);


void __RPC_STUB IGMEOLEApp_AttributepanelPage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_get_OleIt_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ IGMEOLEIt **mgamodel);


void __RPC_STUB IGMEOLEApp_get_OleIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_DisableComp_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR pCompProgID,
    /* [in] */ VARIANT_BOOL pDisable);


void __RPC_STUB IGMEOLEApp_DisableComp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_DisableCompForKinds_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR pCompProgID,
    /* [in] */ BSTR pKindSequenceDelimitedBySemicolon);


void __RPC_STUB IGMEOLEApp_DisableCompForKinds_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_SetCompFiltering_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ VARIANT_BOOL pTurnOn);


void __RPC_STUB IGMEOLEApp_SetCompFiltering_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_GetCompFiltering_Proxy( 
    IGMEOLEApp * This,
    /* [retval][out] */ VARIANT_BOOL *pPtrTurnedOn);


void __RPC_STUB IGMEOLEApp_GetCompFiltering_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_SetWorkingDirectory_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR pDirPath);


void __RPC_STUB IGMEOLEApp_SetWorkingDirectory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_Exit_Proxy( 
    IGMEOLEApp * This);


void __RPC_STUB IGMEOLEApp_Exit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGMEOLEApp_RefreshLib_Proxy( 
    IGMEOLEApp * This,
    /* [in] */ BSTR pLibName,
    /* [in] */ VARIANT_BOOL ungroup,
    /* [retval][out] */ long *numOfErrors);


void __RPC_STUB IGMEOLEApp_RefreshLib_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGMEOLEApp_INTERFACE_DEFINED__ */


#ifndef __IGMEOLEIt_INTERFACE_DEFINED__
#define __IGMEOLEIt_INTERFACE_DEFINED__

/* interface IGMEOLEIt */
/* [object][dual][oleautomation][uuid] */ 


EXTERN_C const IID IID_IGMEOLEIt;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F2181278-749F-459d-8700-92F088B80D72")
    IGMEOLEIt : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Valid( 
            /* [retval][out] */ VARIANT_BOOL *isValid) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Aspects( 
            /* [retval][out] */ IGMEOLEColl **coll) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MgaModel( 
            /* [retval][out] */ IMgaModel **model) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Print( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PrintDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DumpWindowsMetaFile( 
            /* [in] */ BSTR filePath) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CheckConstraints( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RunComponent( 
            /* [in] */ BSTR appID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RunComponentDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GrayOutFCO( 
            /* [in] */ VARIANT_BOOL bGray,
            /* [in] */ VARIANT_BOOL bNeighbours,
            /* [in] */ IMgaFCOs *mgaFCO) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GrayOutHide( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ShowSetMembers( 
            /* [in] */ IMgaFCO *mgaFCO) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE HideSetMembers( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Zoom( 
            /* [in] */ DWORD percent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ZoomTo( 
            /* [in] */ IMgaFCOs *mgaFCOs) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Scroll( 
            /* [in] */ bar_enum __MIDL_0011,
            /* [in] */ scroll_enum __MIDL_0012) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowFCO( 
            /* [in] */ BSTR path,
            /* [defaultvalue][in] */ VARIANT_BOOL inParent = 0) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowFCOPtr( 
            /* [in] */ IMgaFCO *fco,
            /* [defaultvalue][in] */ VARIANT_BOOL inParent = 0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Child( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **child_fco) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ BSTR part,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **new_fco) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateInChild( 
            /* [in] */ BSTR child_as_parent,
            /* [in] */ BSTR part,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **new_fco) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateInChildFCO( 
            /* [in] */ IMgaFCO *child_as_parent,
            /* [in] */ BSTR part,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **new_fco) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Duplicate( 
            /* [in] */ BSTR existing_fco_name,
            /* [in] */ BSTR new_fco_name,
            /* [retval][out] */ IMgaFCO **new_fco) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DuplicateFCO( 
            /* [in] */ IMgaFCO *existing_fco,
            /* [in] */ BSTR new_fco_name,
            /* [retval][out] */ IMgaFCO **new_fco) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rename( 
            /* [in] */ BSTR oldname,
            /* [in] */ BSTR newname) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetName( 
            /* [in] */ IMgaFCO *__MIDL_0013,
            /* [in] */ BSTR name) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Include( 
            /* [in] */ BSTR setname,
            /* [in] */ BSTR name) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Exclude( 
            /* [in] */ BSTR setname,
            /* [in] */ BSTR membername) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IncludeFCO( 
            /* [in] */ IMgaSet *p_set,
            /* [in] */ IMgaFCO *fco) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ExcludeFCO( 
            /* [in] */ IMgaSet *p_set,
            /* [in] */ IMgaFCO *fco) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Connect( 
            /* [in] */ BSTR src_part,
            /* [in] */ BSTR dst_part,
            /* [in] */ BSTR connection_role,
            /* [retval][out] */ IMgaConnection **conn) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Disconnect( 
            /* [in] */ BSTR src_part,
            /* [in] */ BSTR dst_part,
            /* [in] */ BSTR connection_name) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConnectThruPort( 
            /* [in] */ BSTR src_part_1,
            /* [in] */ BSTR src_part_2,
            /* [in] */ BSTR dst_part_1,
            /* [in] */ BSTR dst_part_2,
            /* [in] */ BSTR connection_role,
            /* [retval][out] */ IMgaConnection **conn) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ConnectThruPortFCO( 
            /* [in] */ IMgaFCO *src_part_1,
            /* [in] */ IMgaFCO *src_part_2,
            /* [in] */ IMgaFCO *dst_part_1,
            /* [in] */ IMgaFCO *dst_part_2,
            /* [in] */ BSTR connection_role,
            /* [retval][out] */ IMgaConnection **conn) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DisconnectThruPort( 
            /* [in] */ BSTR src_part_1,
            /* [in] */ BSTR src_part_2,
            /* [in] */ BSTR dst_part_1,
            /* [in] */ BSTR dst_part_2,
            /* [in] */ BSTR connection_name) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ConnectFCOs( 
            /* [in] */ IMgaFCO *src_part,
            /* [in] */ IMgaFCO *dst_part,
            /* [in] */ BSTR connection_role,
            /* [retval][out] */ IMgaConnection **conn) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DisconnectFCOs( 
            /* [in] */ IMgaFCO *src_part,
            /* [in] */ IMgaFCO *dst_part,
            /* [in] */ BSTR connection_name) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Refer( 
            /* [in] */ BSTR reference,
            /* [in] */ BSTR referred) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ClearRef( 
            /* [in] */ BSTR reference) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowRef( 
            /* [in] */ BSTR reference) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReferFCO( 
            /* [in] */ IMgaReference *reference,
            /* [in] */ IMgaFCO *referred) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ClearRefFCO( 
            /* [in] */ IMgaReference *reference) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowRefFCO( 
            /* [in] */ IMgaReference *reference) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NullFCO( 
            /* [retval][out] */ IMgaFCO **nullobj) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAttribute( 
            /* [in] */ BSTR name,
            /* [in] */ BSTR attr_name,
            /* [in] */ VARIANT value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAttribute( 
            /* [in] */ BSTR name,
            /* [in] */ BSTR attr_name,
            /* [retval][out] */ VARIANT *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAttributeFCO( 
            /* [in] */ IMgaFCO *fco,
            /* [in] */ BSTR attr_name,
            /* [in] */ VARIANT value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAttributeFCO( 
            /* [in] */ IMgaFCO *fco,
            /* [in] */ BSTR attr_name,
            /* [retval][out] */ VARIANT *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SubType( 
            /* [in] */ BSTR base,
            /* [in] */ BSTR name_of_subtype,
            /* [retval][out] */ IMgaFCO **subtype) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Instantiate( 
            /* [in] */ BSTR base,
            /* [in] */ BSTR name_of_instance,
            /* [retval][out] */ IMgaFCO **instance) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SubTypeFCO( 
            /* [in] */ IMgaFCO *base,
            /* [in] */ BSTR name_of_subtype,
            /* [retval][out] */ IMgaFCO **subtype) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InstantiateFCO( 
            /* [in] */ IMgaFCO *base,
            /* [in] */ BSTR name_of_instance,
            /* [retval][out] */ IMgaFCO **instance) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BeginTransaction( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CommitTransaction( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsInTransaction( 
            /* [retval][out] */ VARIANT_BOOL *intrans) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PutInTerritory( 
            /* [in] */ IMgaFCO *fco,
            /* [retval][out] */ IMgaFCO **newfco) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Help( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSelected( 
            /* [in] */ BSTR space_delimited_string) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSelected( 
            /* [retval][out] */ BSTR *space_delimited_string) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSelectedFCOs( 
            /* [in] */ IMgaFCOs *fcos_to_select) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSelectedFCOs( 
            /* [retval][out] */ IMgaFCOs **selected_fcos) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NextAspect( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PrevAspect( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Position( 
            /* [in] */ BSTR child,
            /* [in] */ BSTR aspect,
            /* [in] */ long parX,
            /* [in] */ long parY) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PositionFCO( 
            /* [in] */ IMgaFCO *fco,
            /* [in] */ BSTR aspect,
            /* [in] */ long parX,
            /* [in] */ long parY) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGMEOLEItVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGMEOLEIt * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGMEOLEIt * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGMEOLEIt * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGMEOLEIt * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGMEOLEIt * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGMEOLEIt * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGMEOLEIt * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Valid )( 
            IGMEOLEIt * This,
            /* [retval][out] */ VARIANT_BOOL *isValid);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Aspects )( 
            IGMEOLEIt * This,
            /* [retval][out] */ IGMEOLEColl **coll);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MgaModel )( 
            IGMEOLEIt * This,
            /* [retval][out] */ IMgaModel **model);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Print )( 
            IGMEOLEIt * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PrintDialog )( 
            IGMEOLEIt * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DumpWindowsMetaFile )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR filePath);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CheckConstraints )( 
            IGMEOLEIt * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RunComponent )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR appID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RunComponentDialog )( 
            IGMEOLEIt * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IGMEOLEIt * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GrayOutFCO )( 
            IGMEOLEIt * This,
            /* [in] */ VARIANT_BOOL bGray,
            /* [in] */ VARIANT_BOOL bNeighbours,
            /* [in] */ IMgaFCOs *mgaFCO);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GrayOutHide )( 
            IGMEOLEIt * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ShowSetMembers )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *mgaFCO);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *HideSetMembers )( 
            IGMEOLEIt * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Zoom )( 
            IGMEOLEIt * This,
            /* [in] */ DWORD percent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ZoomTo )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCOs *mgaFCOs);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Scroll )( 
            IGMEOLEIt * This,
            /* [in] */ bar_enum __MIDL_0011,
            /* [in] */ scroll_enum __MIDL_0012);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShowFCO )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR path,
            /* [defaultvalue][in] */ VARIANT_BOOL inParent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShowFCOPtr )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *fco,
            /* [defaultvalue][in] */ VARIANT_BOOL inParent);
        
        HRESULT ( STDMETHODCALLTYPE *Child )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **child_fco);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR part,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **new_fco);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateInChild )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR child_as_parent,
            /* [in] */ BSTR part,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **new_fco);
        
        HRESULT ( STDMETHODCALLTYPE *CreateInChildFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *child_as_parent,
            /* [in] */ BSTR part,
            /* [in] */ BSTR name,
            /* [retval][out] */ IMgaFCO **new_fco);
        
        HRESULT ( STDMETHODCALLTYPE *Duplicate )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR existing_fco_name,
            /* [in] */ BSTR new_fco_name,
            /* [retval][out] */ IMgaFCO **new_fco);
        
        HRESULT ( STDMETHODCALLTYPE *DuplicateFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *existing_fco,
            /* [in] */ BSTR new_fco_name,
            /* [retval][out] */ IMgaFCO **new_fco);
        
        HRESULT ( STDMETHODCALLTYPE *Rename )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR oldname,
            /* [in] */ BSTR newname);
        
        HRESULT ( STDMETHODCALLTYPE *SetName )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *__MIDL_0013,
            /* [in] */ BSTR name);
        
        HRESULT ( STDMETHODCALLTYPE *Include )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR setname,
            /* [in] */ BSTR name);
        
        HRESULT ( STDMETHODCALLTYPE *Exclude )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR setname,
            /* [in] */ BSTR membername);
        
        HRESULT ( STDMETHODCALLTYPE *IncludeFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaSet *p_set,
            /* [in] */ IMgaFCO *fco);
        
        HRESULT ( STDMETHODCALLTYPE *ExcludeFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaSet *p_set,
            /* [in] */ IMgaFCO *fco);
        
        HRESULT ( STDMETHODCALLTYPE *Connect )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR src_part,
            /* [in] */ BSTR dst_part,
            /* [in] */ BSTR connection_role,
            /* [retval][out] */ IMgaConnection **conn);
        
        HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR src_part,
            /* [in] */ BSTR dst_part,
            /* [in] */ BSTR connection_name);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConnectThruPort )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR src_part_1,
            /* [in] */ BSTR src_part_2,
            /* [in] */ BSTR dst_part_1,
            /* [in] */ BSTR dst_part_2,
            /* [in] */ BSTR connection_role,
            /* [retval][out] */ IMgaConnection **conn);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectThruPortFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *src_part_1,
            /* [in] */ IMgaFCO *src_part_2,
            /* [in] */ IMgaFCO *dst_part_1,
            /* [in] */ IMgaFCO *dst_part_2,
            /* [in] */ BSTR connection_role,
            /* [retval][out] */ IMgaConnection **conn);
        
        HRESULT ( STDMETHODCALLTYPE *DisconnectThruPort )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR src_part_1,
            /* [in] */ BSTR src_part_2,
            /* [in] */ BSTR dst_part_1,
            /* [in] */ BSTR dst_part_2,
            /* [in] */ BSTR connection_name);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectFCOs )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *src_part,
            /* [in] */ IMgaFCO *dst_part,
            /* [in] */ BSTR connection_role,
            /* [retval][out] */ IMgaConnection **conn);
        
        HRESULT ( STDMETHODCALLTYPE *DisconnectFCOs )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *src_part,
            /* [in] */ IMgaFCO *dst_part,
            /* [in] */ BSTR connection_name);
        
        HRESULT ( STDMETHODCALLTYPE *Refer )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR reference,
            /* [in] */ BSTR referred);
        
        HRESULT ( STDMETHODCALLTYPE *ClearRef )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR reference);
        
        HRESULT ( STDMETHODCALLTYPE *FollowRef )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR reference);
        
        HRESULT ( STDMETHODCALLTYPE *ReferFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaReference *reference,
            /* [in] */ IMgaFCO *referred);
        
        HRESULT ( STDMETHODCALLTYPE *ClearRefFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaReference *reference);
        
        HRESULT ( STDMETHODCALLTYPE *FollowRefFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaReference *reference);
        
        HRESULT ( STDMETHODCALLTYPE *NullFCO )( 
            IGMEOLEIt * This,
            /* [retval][out] */ IMgaFCO **nullobj);
        
        HRESULT ( STDMETHODCALLTYPE *SetAttribute )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR attr_name,
            /* [in] */ VARIANT value);
        
        HRESULT ( STDMETHODCALLTYPE *GetAttribute )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR name,
            /* [in] */ BSTR attr_name,
            /* [retval][out] */ VARIANT *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetAttributeFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *fco,
            /* [in] */ BSTR attr_name,
            /* [in] */ VARIANT value);
        
        HRESULT ( STDMETHODCALLTYPE *GetAttributeFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *fco,
            /* [in] */ BSTR attr_name,
            /* [retval][out] */ VARIANT *value);
        
        HRESULT ( STDMETHODCALLTYPE *SubType )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR base,
            /* [in] */ BSTR name_of_subtype,
            /* [retval][out] */ IMgaFCO **subtype);
        
        HRESULT ( STDMETHODCALLTYPE *Instantiate )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR base,
            /* [in] */ BSTR name_of_instance,
            /* [retval][out] */ IMgaFCO **instance);
        
        HRESULT ( STDMETHODCALLTYPE *SubTypeFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *base,
            /* [in] */ BSTR name_of_subtype,
            /* [retval][out] */ IMgaFCO **subtype);
        
        HRESULT ( STDMETHODCALLTYPE *InstantiateFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *base,
            /* [in] */ BSTR name_of_instance,
            /* [retval][out] */ IMgaFCO **instance);
        
        HRESULT ( STDMETHODCALLTYPE *BeginTransaction )( 
            IGMEOLEIt * This);
        
        HRESULT ( STDMETHODCALLTYPE *CommitTransaction )( 
            IGMEOLEIt * This);
        
        HRESULT ( STDMETHODCALLTYPE *IsInTransaction )( 
            IGMEOLEIt * This,
            /* [retval][out] */ VARIANT_BOOL *intrans);
        
        HRESULT ( STDMETHODCALLTYPE *PutInTerritory )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *fco,
            /* [retval][out] */ IMgaFCO **newfco);
        
        HRESULT ( STDMETHODCALLTYPE *Help )( 
            IGMEOLEIt * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetSelected )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR space_delimited_string);
        
        HRESULT ( STDMETHODCALLTYPE *GetSelected )( 
            IGMEOLEIt * This,
            /* [retval][out] */ BSTR *space_delimited_string);
        
        HRESULT ( STDMETHODCALLTYPE *SetSelectedFCOs )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCOs *fcos_to_select);
        
        HRESULT ( STDMETHODCALLTYPE *GetSelectedFCOs )( 
            IGMEOLEIt * This,
            /* [retval][out] */ IMgaFCOs **selected_fcos);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NextAspect )( 
            IGMEOLEIt * This);
        
        HRESULT ( STDMETHODCALLTYPE *PrevAspect )( 
            IGMEOLEIt * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IGMEOLEIt * This);
        
        HRESULT ( STDMETHODCALLTYPE *Prev )( 
            IGMEOLEIt * This);
        
        HRESULT ( STDMETHODCALLTYPE *Position )( 
            IGMEOLEIt * This,
            /* [in] */ BSTR child,
            /* [in] */ BSTR aspect,
            /* [in] */ long parX,
            /* [in] */ long parY);
        
        HRESULT ( STDMETHODCALLTYPE *PositionFCO )( 
            IGMEOLEIt * This,
            /* [in] */ IMgaFCO *fco,
            /* [in] */ BSTR aspect,
            /* [in] */ long parX,
            /* [in] */ long parY);
        
        END_INTERFACE
    } IGMEOLEItVtbl;

    interface IGMEOLEIt
    {
        CONST_VTBL struct IGMEOLEItVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGMEOLEIt_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGMEOLEIt_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGMEOLEIt_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGMEOLEIt_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGMEOLEIt_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGMEOLEIt_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGMEOLEIt_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGMEOLEIt_get_Valid(This,isValid)	\
    (This)->lpVtbl -> get_Valid(This,isValid)

#define IGMEOLEIt_get_Aspects(This,coll)	\
    (This)->lpVtbl -> get_Aspects(This,coll)

#define IGMEOLEIt_get_MgaModel(This,model)	\
    (This)->lpVtbl -> get_MgaModel(This,model)

#define IGMEOLEIt_Print(This)	\
    (This)->lpVtbl -> Print(This)

#define IGMEOLEIt_PrintDialog(This)	\
    (This)->lpVtbl -> PrintDialog(This)

#define IGMEOLEIt_DumpWindowsMetaFile(This,filePath)	\
    (This)->lpVtbl -> DumpWindowsMetaFile(This,filePath)

#define IGMEOLEIt_CheckConstraints(This)	\
    (This)->lpVtbl -> CheckConstraints(This)

#define IGMEOLEIt_RunComponent(This,appID)	\
    (This)->lpVtbl -> RunComponent(This,appID)

#define IGMEOLEIt_RunComponentDialog(This)	\
    (This)->lpVtbl -> RunComponentDialog(This)

#define IGMEOLEIt_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IGMEOLEIt_GrayOutFCO(This,bGray,bNeighbours,mgaFCO)	\
    (This)->lpVtbl -> GrayOutFCO(This,bGray,bNeighbours,mgaFCO)

#define IGMEOLEIt_GrayOutHide(This)	\
    (This)->lpVtbl -> GrayOutHide(This)

#define IGMEOLEIt_ShowSetMembers(This,mgaFCO)	\
    (This)->lpVtbl -> ShowSetMembers(This,mgaFCO)

#define IGMEOLEIt_HideSetMembers(This)	\
    (This)->lpVtbl -> HideSetMembers(This)

#define IGMEOLEIt_Zoom(This,percent)	\
    (This)->lpVtbl -> Zoom(This,percent)

#define IGMEOLEIt_ZoomTo(This,mgaFCOs)	\
    (This)->lpVtbl -> ZoomTo(This,mgaFCOs)

#define IGMEOLEIt_Scroll(This,__MIDL_0011,__MIDL_0012)	\
    (This)->lpVtbl -> Scroll(This,__MIDL_0011,__MIDL_0012)

#define IGMEOLEIt_ShowFCO(This,path,inParent)	\
    (This)->lpVtbl -> ShowFCO(This,path,inParent)

#define IGMEOLEIt_ShowFCOPtr(This,fco,inParent)	\
    (This)->lpVtbl -> ShowFCOPtr(This,fco,inParent)

#define IGMEOLEIt_Child(This,name,child_fco)	\
    (This)->lpVtbl -> Child(This,name,child_fco)

#define IGMEOLEIt_Create(This,part,name,new_fco)	\
    (This)->lpVtbl -> Create(This,part,name,new_fco)

#define IGMEOLEIt_CreateInChild(This,child_as_parent,part,name,new_fco)	\
    (This)->lpVtbl -> CreateInChild(This,child_as_parent,part,name,new_fco)

#define IGMEOLEIt_CreateInChildFCO(This,child_as_parent,part,name,new_fco)	\
    (This)->lpVtbl -> CreateInChildFCO(This,child_as_parent,part,name,new_fco)

#define IGMEOLEIt_Duplicate(This,existing_fco_name,new_fco_name,new_fco)	\
    (This)->lpVtbl -> Duplicate(This,existing_fco_name,new_fco_name,new_fco)

#define IGMEOLEIt_DuplicateFCO(This,existing_fco,new_fco_name,new_fco)	\
    (This)->lpVtbl -> DuplicateFCO(This,existing_fco,new_fco_name,new_fco)

#define IGMEOLEIt_Rename(This,oldname,newname)	\
    (This)->lpVtbl -> Rename(This,oldname,newname)

#define IGMEOLEIt_SetName(This,__MIDL_0013,name)	\
    (This)->lpVtbl -> SetName(This,__MIDL_0013,name)

#define IGMEOLEIt_Include(This,setname,name)	\
    (This)->lpVtbl -> Include(This,setname,name)

#define IGMEOLEIt_Exclude(This,setname,membername)	\
    (This)->lpVtbl -> Exclude(This,setname,membername)

#define IGMEOLEIt_IncludeFCO(This,p_set,fco)	\
    (This)->lpVtbl -> IncludeFCO(This,p_set,fco)

#define IGMEOLEIt_ExcludeFCO(This,p_set,fco)	\
    (This)->lpVtbl -> ExcludeFCO(This,p_set,fco)

#define IGMEOLEIt_Connect(This,src_part,dst_part,connection_role,conn)	\
    (This)->lpVtbl -> Connect(This,src_part,dst_part,connection_role,conn)

#define IGMEOLEIt_Disconnect(This,src_part,dst_part,connection_name)	\
    (This)->lpVtbl -> Disconnect(This,src_part,dst_part,connection_name)

#define IGMEOLEIt_ConnectThruPort(This,src_part_1,src_part_2,dst_part_1,dst_part_2,connection_role,conn)	\
    (This)->lpVtbl -> ConnectThruPort(This,src_part_1,src_part_2,dst_part_1,dst_part_2,connection_role,conn)

#define IGMEOLEIt_ConnectThruPortFCO(This,src_part_1,src_part_2,dst_part_1,dst_part_2,connection_role,conn)	\
    (This)->lpVtbl -> ConnectThruPortFCO(This,src_part_1,src_part_2,dst_part_1,dst_part_2,connection_role,conn)

#define IGMEOLEIt_DisconnectThruPort(This,src_part_1,src_part_2,dst_part_1,dst_part_2,connection_name)	\
    (This)->lpVtbl -> DisconnectThruPort(This,src_part_1,src_part_2,dst_part_1,dst_part_2,connection_name)

#define IGMEOLEIt_ConnectFCOs(This,src_part,dst_part,connection_role,conn)	\
    (This)->lpVtbl -> ConnectFCOs(This,src_part,dst_part,connection_role,conn)

#define IGMEOLEIt_DisconnectFCOs(This,src_part,dst_part,connection_name)	\
    (This)->lpVtbl -> DisconnectFCOs(This,src_part,dst_part,connection_name)

#define IGMEOLEIt_Refer(This,reference,referred)	\
    (This)->lpVtbl -> Refer(This,reference,referred)

#define IGMEOLEIt_ClearRef(This,reference)	\
    (This)->lpVtbl -> ClearRef(This,reference)

#define IGMEOLEIt_FollowRef(This,reference)	\
    (This)->lpVtbl -> FollowRef(This,reference)

#define IGMEOLEIt_ReferFCO(This,reference,referred)	\
    (This)->lpVtbl -> ReferFCO(This,reference,referred)

#define IGMEOLEIt_ClearRefFCO(This,reference)	\
    (This)->lpVtbl -> ClearRefFCO(This,reference)

#define IGMEOLEIt_FollowRefFCO(This,reference)	\
    (This)->lpVtbl -> FollowRefFCO(This,reference)

#define IGMEOLEIt_NullFCO(This,nullobj)	\
    (This)->lpVtbl -> NullFCO(This,nullobj)

#define IGMEOLEIt_SetAttribute(This,name,attr_name,value)	\
    (This)->lpVtbl -> SetAttribute(This,name,attr_name,value)

#define IGMEOLEIt_GetAttribute(This,name,attr_name,value)	\
    (This)->lpVtbl -> GetAttribute(This,name,attr_name,value)

#define IGMEOLEIt_SetAttributeFCO(This,fco,attr_name,value)	\
    (This)->lpVtbl -> SetAttributeFCO(This,fco,attr_name,value)

#define IGMEOLEIt_GetAttributeFCO(This,fco,attr_name,value)	\
    (This)->lpVtbl -> GetAttributeFCO(This,fco,attr_name,value)

#define IGMEOLEIt_SubType(This,base,name_of_subtype,subtype)	\
    (This)->lpVtbl -> SubType(This,base,name_of_subtype,subtype)

#define IGMEOLEIt_Instantiate(This,base,name_of_instance,instance)	\
    (This)->lpVtbl -> Instantiate(This,base,name_of_instance,instance)

#define IGMEOLEIt_SubTypeFCO(This,base,name_of_subtype,subtype)	\
    (This)->lpVtbl -> SubTypeFCO(This,base,name_of_subtype,subtype)

#define IGMEOLEIt_InstantiateFCO(This,base,name_of_instance,instance)	\
    (This)->lpVtbl -> InstantiateFCO(This,base,name_of_instance,instance)

#define IGMEOLEIt_BeginTransaction(This)	\
    (This)->lpVtbl -> BeginTransaction(This)

#define IGMEOLEIt_CommitTransaction(This)	\
    (This)->lpVtbl -> CommitTransaction(This)

#define IGMEOLEIt_IsInTransaction(This,intrans)	\
    (This)->lpVtbl -> IsInTransaction(This,intrans)

#define IGMEOLEIt_PutInTerritory(This,fco,newfco)	\
    (This)->lpVtbl -> PutInTerritory(This,fco,newfco)

#define IGMEOLEIt_Help(This)	\
    (This)->lpVtbl -> Help(This)

#define IGMEOLEIt_SetSelected(This,space_delimited_string)	\
    (This)->lpVtbl -> SetSelected(This,space_delimited_string)

#define IGMEOLEIt_GetSelected(This,space_delimited_string)	\
    (This)->lpVtbl -> GetSelected(This,space_delimited_string)

#define IGMEOLEIt_SetSelectedFCOs(This,fcos_to_select)	\
    (This)->lpVtbl -> SetSelectedFCOs(This,fcos_to_select)

#define IGMEOLEIt_GetSelectedFCOs(This,selected_fcos)	\
    (This)->lpVtbl -> GetSelectedFCOs(This,selected_fcos)

#define IGMEOLEIt_NextAspect(This)	\
    (This)->lpVtbl -> NextAspect(This)

#define IGMEOLEIt_PrevAspect(This)	\
    (This)->lpVtbl -> PrevAspect(This)

#define IGMEOLEIt_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IGMEOLEIt_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IGMEOLEIt_Position(This,child,aspect,parX,parY)	\
    (This)->lpVtbl -> Position(This,child,aspect,parX,parY)

#define IGMEOLEIt_PositionFCO(This,fco,aspect,parX,parY)	\
    (This)->lpVtbl -> PositionFCO(This,fco,aspect,parX,parY)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_get_Valid_Proxy( 
    IGMEOLEIt * This,
    /* [retval][out] */ VARIANT_BOOL *isValid);


void __RPC_STUB IGMEOLEIt_get_Valid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_get_Aspects_Proxy( 
    IGMEOLEIt * This,
    /* [retval][out] */ IGMEOLEColl **coll);


void __RPC_STUB IGMEOLEIt_get_Aspects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_get_MgaModel_Proxy( 
    IGMEOLEIt * This,
    /* [retval][out] */ IMgaModel **model);


void __RPC_STUB IGMEOLEIt_get_MgaModel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_Print_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_Print_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_PrintDialog_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_PrintDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_DumpWindowsMetaFile_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR filePath);


void __RPC_STUB IGMEOLEIt_DumpWindowsMetaFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_CheckConstraints_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_CheckConstraints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_RunComponent_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR appID);


void __RPC_STUB IGMEOLEIt_RunComponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_RunComponentDialog_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_RunComponentDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_Close_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_GrayOutFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ VARIANT_BOOL bGray,
    /* [in] */ VARIANT_BOOL bNeighbours,
    /* [in] */ IMgaFCOs *mgaFCO);


void __RPC_STUB IGMEOLEIt_GrayOutFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_GrayOutHide_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_GrayOutHide_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_ShowSetMembers_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *mgaFCO);


void __RPC_STUB IGMEOLEIt_ShowSetMembers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_HideSetMembers_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_HideSetMembers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_Zoom_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ DWORD percent);


void __RPC_STUB IGMEOLEIt_Zoom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_ZoomTo_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCOs *mgaFCOs);


void __RPC_STUB IGMEOLEIt_ZoomTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_Scroll_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ bar_enum __MIDL_0011,
    /* [in] */ scroll_enum __MIDL_0012);


void __RPC_STUB IGMEOLEIt_Scroll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_ShowFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR path,
    /* [defaultvalue][in] */ VARIANT_BOOL inParent);


void __RPC_STUB IGMEOLEIt_ShowFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_ShowFCOPtr_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *fco,
    /* [defaultvalue][in] */ VARIANT_BOOL inParent);


void __RPC_STUB IGMEOLEIt_ShowFCOPtr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Child_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **child_fco);


void __RPC_STUB IGMEOLEIt_Child_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Create_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR part,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **new_fco);


void __RPC_STUB IGMEOLEIt_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_CreateInChild_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR child_as_parent,
    /* [in] */ BSTR part,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **new_fco);


void __RPC_STUB IGMEOLEIt_CreateInChild_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_CreateInChildFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *child_as_parent,
    /* [in] */ BSTR part,
    /* [in] */ BSTR name,
    /* [retval][out] */ IMgaFCO **new_fco);


void __RPC_STUB IGMEOLEIt_CreateInChildFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Duplicate_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR existing_fco_name,
    /* [in] */ BSTR new_fco_name,
    /* [retval][out] */ IMgaFCO **new_fco);


void __RPC_STUB IGMEOLEIt_Duplicate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_DuplicateFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *existing_fco,
    /* [in] */ BSTR new_fco_name,
    /* [retval][out] */ IMgaFCO **new_fco);


void __RPC_STUB IGMEOLEIt_DuplicateFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Rename_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR oldname,
    /* [in] */ BSTR newname);


void __RPC_STUB IGMEOLEIt_Rename_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_SetName_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *__MIDL_0013,
    /* [in] */ BSTR name);


void __RPC_STUB IGMEOLEIt_SetName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Include_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR setname,
    /* [in] */ BSTR name);


void __RPC_STUB IGMEOLEIt_Include_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Exclude_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR setname,
    /* [in] */ BSTR membername);


void __RPC_STUB IGMEOLEIt_Exclude_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_IncludeFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaSet *p_set,
    /* [in] */ IMgaFCO *fco);


void __RPC_STUB IGMEOLEIt_IncludeFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_ExcludeFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaSet *p_set,
    /* [in] */ IMgaFCO *fco);


void __RPC_STUB IGMEOLEIt_ExcludeFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Connect_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR src_part,
    /* [in] */ BSTR dst_part,
    /* [in] */ BSTR connection_role,
    /* [retval][out] */ IMgaConnection **conn);


void __RPC_STUB IGMEOLEIt_Connect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Disconnect_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR src_part,
    /* [in] */ BSTR dst_part,
    /* [in] */ BSTR connection_name);


void __RPC_STUB IGMEOLEIt_Disconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_ConnectThruPort_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR src_part_1,
    /* [in] */ BSTR src_part_2,
    /* [in] */ BSTR dst_part_1,
    /* [in] */ BSTR dst_part_2,
    /* [in] */ BSTR connection_role,
    /* [retval][out] */ IMgaConnection **conn);


void __RPC_STUB IGMEOLEIt_ConnectThruPort_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_ConnectThruPortFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *src_part_1,
    /* [in] */ IMgaFCO *src_part_2,
    /* [in] */ IMgaFCO *dst_part_1,
    /* [in] */ IMgaFCO *dst_part_2,
    /* [in] */ BSTR connection_role,
    /* [retval][out] */ IMgaConnection **conn);


void __RPC_STUB IGMEOLEIt_ConnectThruPortFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_DisconnectThruPort_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR src_part_1,
    /* [in] */ BSTR src_part_2,
    /* [in] */ BSTR dst_part_1,
    /* [in] */ BSTR dst_part_2,
    /* [in] */ BSTR connection_name);


void __RPC_STUB IGMEOLEIt_DisconnectThruPort_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_ConnectFCOs_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *src_part,
    /* [in] */ IMgaFCO *dst_part,
    /* [in] */ BSTR connection_role,
    /* [retval][out] */ IMgaConnection **conn);


void __RPC_STUB IGMEOLEIt_ConnectFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_DisconnectFCOs_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *src_part,
    /* [in] */ IMgaFCO *dst_part,
    /* [in] */ BSTR connection_name);


void __RPC_STUB IGMEOLEIt_DisconnectFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Refer_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR reference,
    /* [in] */ BSTR referred);


void __RPC_STUB IGMEOLEIt_Refer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_ClearRef_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR reference);


void __RPC_STUB IGMEOLEIt_ClearRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_FollowRef_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR reference);


void __RPC_STUB IGMEOLEIt_FollowRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_ReferFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaReference *reference,
    /* [in] */ IMgaFCO *referred);


void __RPC_STUB IGMEOLEIt_ReferFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_ClearRefFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaReference *reference);


void __RPC_STUB IGMEOLEIt_ClearRefFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_FollowRefFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaReference *reference);


void __RPC_STUB IGMEOLEIt_FollowRefFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_NullFCO_Proxy( 
    IGMEOLEIt * This,
    /* [retval][out] */ IMgaFCO **nullobj);


void __RPC_STUB IGMEOLEIt_NullFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_SetAttribute_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR name,
    /* [in] */ BSTR attr_name,
    /* [in] */ VARIANT value);


void __RPC_STUB IGMEOLEIt_SetAttribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_GetAttribute_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR name,
    /* [in] */ BSTR attr_name,
    /* [retval][out] */ VARIANT *value);


void __RPC_STUB IGMEOLEIt_GetAttribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_SetAttributeFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *fco,
    /* [in] */ BSTR attr_name,
    /* [in] */ VARIANT value);


void __RPC_STUB IGMEOLEIt_SetAttributeFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_GetAttributeFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *fco,
    /* [in] */ BSTR attr_name,
    /* [retval][out] */ VARIANT *value);


void __RPC_STUB IGMEOLEIt_GetAttributeFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_SubType_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR base,
    /* [in] */ BSTR name_of_subtype,
    /* [retval][out] */ IMgaFCO **subtype);


void __RPC_STUB IGMEOLEIt_SubType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Instantiate_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR base,
    /* [in] */ BSTR name_of_instance,
    /* [retval][out] */ IMgaFCO **instance);


void __RPC_STUB IGMEOLEIt_Instantiate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_SubTypeFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *base,
    /* [in] */ BSTR name_of_subtype,
    /* [retval][out] */ IMgaFCO **subtype);


void __RPC_STUB IGMEOLEIt_SubTypeFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_InstantiateFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *base,
    /* [in] */ BSTR name_of_instance,
    /* [retval][out] */ IMgaFCO **instance);


void __RPC_STUB IGMEOLEIt_InstantiateFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_BeginTransaction_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_BeginTransaction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_CommitTransaction_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_CommitTransaction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_IsInTransaction_Proxy( 
    IGMEOLEIt * This,
    /* [retval][out] */ VARIANT_BOOL *intrans);


void __RPC_STUB IGMEOLEIt_IsInTransaction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_PutInTerritory_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *fco,
    /* [retval][out] */ IMgaFCO **newfco);


void __RPC_STUB IGMEOLEIt_PutInTerritory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Help_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_Help_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_SetSelected_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR space_delimited_string);


void __RPC_STUB IGMEOLEIt_SetSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_GetSelected_Proxy( 
    IGMEOLEIt * This,
    /* [retval][out] */ BSTR *space_delimited_string);


void __RPC_STUB IGMEOLEIt_GetSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_SetSelectedFCOs_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCOs *fcos_to_select);


void __RPC_STUB IGMEOLEIt_SetSelectedFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_GetSelectedFCOs_Proxy( 
    IGMEOLEIt * This,
    /* [retval][out] */ IMgaFCOs **selected_fcos);


void __RPC_STUB IGMEOLEIt_GetSelectedFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_NextAspect_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_NextAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_PrevAspect_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_PrevAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IGMEOLEIt_Next_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Prev_Proxy( 
    IGMEOLEIt * This);


void __RPC_STUB IGMEOLEIt_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_Position_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ BSTR child,
    /* [in] */ BSTR aspect,
    /* [in] */ long parX,
    /* [in] */ long parY);


void __RPC_STUB IGMEOLEIt_Position_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGMEOLEIt_PositionFCO_Proxy( 
    IGMEOLEIt * This,
    /* [in] */ IMgaFCO *fco,
    /* [in] */ BSTR aspect,
    /* [in] */ long parX,
    /* [in] */ long parY);


void __RPC_STUB IGMEOLEIt_PositionFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGMEOLEIt_INTERFACE_DEFINED__ */


#ifndef __IGMEOLEModel_INTERFACE_DEFINED__
#define __IGMEOLEModel_INTERFACE_DEFINED__

/* interface IGMEOLEModel */
/* [object][dual][oleautomation][uuid] */ 


EXTERN_C const IID IID_IGMEOLEModel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("399A16A0-D209-4d00-9BDF-858D87EC4641")
    IGMEOLEModel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Active( 
            /* [in] */ VARIANT_BOOL isActive) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Active( 
            /* [retval][out] */ VARIANT_BOOL *isActive) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Aspects( 
            /* [retval][out] */ IGMEOLEColl **coll) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MgaModel( 
            /* [retval][out] */ IMgaModel **model) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Valid( 
            /* [retval][out] */ VARIANT_BOOL *isValid) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Print( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PrintDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DumpWindowsMetaFile( 
            /* [in] */ BSTR filePath) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CheckConstraints( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RunComponent( 
            /* [in] */ BSTR appID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RunComponentDialog( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GrayOutFCO( 
            /* [in] */ VARIANT_BOOL bGray,
            /* [in] */ VARIANT_BOOL bNeighbours,
            /* [in] */ IMgaFCOs *mgaFCO) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GrayOutHide( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ShowSetMembers( 
            /* [in] */ IMgaFCO *mgaFCO) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE HideSetMembers( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Zoom( 
            /* [in] */ DWORD percent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ZoomTo( 
            /* [in] */ IMgaFCOs *mgaFCOs) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Scroll( 
            /* [in] */ bar_enum __MIDL_0014,
            /* [in] */ scroll_enum __MIDL_0015) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGMEOLEModelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGMEOLEModel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGMEOLEModel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGMEOLEModel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGMEOLEModel * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGMEOLEModel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGMEOLEModel * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGMEOLEModel * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Active )( 
            IGMEOLEModel * This,
            /* [in] */ VARIANT_BOOL isActive);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Active )( 
            IGMEOLEModel * This,
            /* [retval][out] */ VARIANT_BOOL *isActive);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Aspects )( 
            IGMEOLEModel * This,
            /* [retval][out] */ IGMEOLEColl **coll);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MgaModel )( 
            IGMEOLEModel * This,
            /* [retval][out] */ IMgaModel **model);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Valid )( 
            IGMEOLEModel * This,
            /* [retval][out] */ VARIANT_BOOL *isValid);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Print )( 
            IGMEOLEModel * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PrintDialog )( 
            IGMEOLEModel * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DumpWindowsMetaFile )( 
            IGMEOLEModel * This,
            /* [in] */ BSTR filePath);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CheckConstraints )( 
            IGMEOLEModel * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RunComponent )( 
            IGMEOLEModel * This,
            /* [in] */ BSTR appID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RunComponentDialog )( 
            IGMEOLEModel * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IGMEOLEModel * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GrayOutFCO )( 
            IGMEOLEModel * This,
            /* [in] */ VARIANT_BOOL bGray,
            /* [in] */ VARIANT_BOOL bNeighbours,
            /* [in] */ IMgaFCOs *mgaFCO);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GrayOutHide )( 
            IGMEOLEModel * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ShowSetMembers )( 
            IGMEOLEModel * This,
            /* [in] */ IMgaFCO *mgaFCO);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *HideSetMembers )( 
            IGMEOLEModel * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Zoom )( 
            IGMEOLEModel * This,
            /* [in] */ DWORD percent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ZoomTo )( 
            IGMEOLEModel * This,
            /* [in] */ IMgaFCOs *mgaFCOs);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Scroll )( 
            IGMEOLEModel * This,
            /* [in] */ bar_enum __MIDL_0014,
            /* [in] */ scroll_enum __MIDL_0015);
        
        END_INTERFACE
    } IGMEOLEModelVtbl;

    interface IGMEOLEModel
    {
        CONST_VTBL struct IGMEOLEModelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGMEOLEModel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGMEOLEModel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGMEOLEModel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGMEOLEModel_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGMEOLEModel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGMEOLEModel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGMEOLEModel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGMEOLEModel_put_Active(This,isActive)	\
    (This)->lpVtbl -> put_Active(This,isActive)

#define IGMEOLEModel_get_Active(This,isActive)	\
    (This)->lpVtbl -> get_Active(This,isActive)

#define IGMEOLEModel_get_Aspects(This,coll)	\
    (This)->lpVtbl -> get_Aspects(This,coll)

#define IGMEOLEModel_get_MgaModel(This,model)	\
    (This)->lpVtbl -> get_MgaModel(This,model)

#define IGMEOLEModel_get_Valid(This,isValid)	\
    (This)->lpVtbl -> get_Valid(This,isValid)

#define IGMEOLEModel_Print(This)	\
    (This)->lpVtbl -> Print(This)

#define IGMEOLEModel_PrintDialog(This)	\
    (This)->lpVtbl -> PrintDialog(This)

#define IGMEOLEModel_DumpWindowsMetaFile(This,filePath)	\
    (This)->lpVtbl -> DumpWindowsMetaFile(This,filePath)

#define IGMEOLEModel_CheckConstraints(This)	\
    (This)->lpVtbl -> CheckConstraints(This)

#define IGMEOLEModel_RunComponent(This,appID)	\
    (This)->lpVtbl -> RunComponent(This,appID)

#define IGMEOLEModel_RunComponentDialog(This)	\
    (This)->lpVtbl -> RunComponentDialog(This)

#define IGMEOLEModel_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IGMEOLEModel_GrayOutFCO(This,bGray,bNeighbours,mgaFCO)	\
    (This)->lpVtbl -> GrayOutFCO(This,bGray,bNeighbours,mgaFCO)

#define IGMEOLEModel_GrayOutHide(This)	\
    (This)->lpVtbl -> GrayOutHide(This)

#define IGMEOLEModel_ShowSetMembers(This,mgaFCO)	\
    (This)->lpVtbl -> ShowSetMembers(This,mgaFCO)

#define IGMEOLEModel_HideSetMembers(This)	\
    (This)->lpVtbl -> HideSetMembers(This)

#define IGMEOLEModel_Zoom(This,percent)	\
    (This)->lpVtbl -> Zoom(This,percent)

#define IGMEOLEModel_ZoomTo(This,mgaFCOs)	\
    (This)->lpVtbl -> ZoomTo(This,mgaFCOs)

#define IGMEOLEModel_Scroll(This,__MIDL_0014,__MIDL_0015)	\
    (This)->lpVtbl -> Scroll(This,__MIDL_0014,__MIDL_0015)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_put_Active_Proxy( 
    IGMEOLEModel * This,
    /* [in] */ VARIANT_BOOL isActive);


void __RPC_STUB IGMEOLEModel_put_Active_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_get_Active_Proxy( 
    IGMEOLEModel * This,
    /* [retval][out] */ VARIANT_BOOL *isActive);


void __RPC_STUB IGMEOLEModel_get_Active_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_get_Aspects_Proxy( 
    IGMEOLEModel * This,
    /* [retval][out] */ IGMEOLEColl **coll);


void __RPC_STUB IGMEOLEModel_get_Aspects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_get_MgaModel_Proxy( 
    IGMEOLEModel * This,
    /* [retval][out] */ IMgaModel **model);


void __RPC_STUB IGMEOLEModel_get_MgaModel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_get_Valid_Proxy( 
    IGMEOLEModel * This,
    /* [retval][out] */ VARIANT_BOOL *isValid);


void __RPC_STUB IGMEOLEModel_get_Valid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_Print_Proxy( 
    IGMEOLEModel * This);


void __RPC_STUB IGMEOLEModel_Print_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_PrintDialog_Proxy( 
    IGMEOLEModel * This);


void __RPC_STUB IGMEOLEModel_PrintDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_DumpWindowsMetaFile_Proxy( 
    IGMEOLEModel * This,
    /* [in] */ BSTR filePath);


void __RPC_STUB IGMEOLEModel_DumpWindowsMetaFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_CheckConstraints_Proxy( 
    IGMEOLEModel * This);


void __RPC_STUB IGMEOLEModel_CheckConstraints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_RunComponent_Proxy( 
    IGMEOLEModel * This,
    /* [in] */ BSTR appID);


void __RPC_STUB IGMEOLEModel_RunComponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_RunComponentDialog_Proxy( 
    IGMEOLEModel * This);


void __RPC_STUB IGMEOLEModel_RunComponentDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_Close_Proxy( 
    IGMEOLEModel * This);


void __RPC_STUB IGMEOLEModel_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_GrayOutFCO_Proxy( 
    IGMEOLEModel * This,
    /* [in] */ VARIANT_BOOL bGray,
    /* [in] */ VARIANT_BOOL bNeighbours,
    /* [in] */ IMgaFCOs *mgaFCO);


void __RPC_STUB IGMEOLEModel_GrayOutFCO_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_GrayOutHide_Proxy( 
    IGMEOLEModel * This);


void __RPC_STUB IGMEOLEModel_GrayOutHide_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_ShowSetMembers_Proxy( 
    IGMEOLEModel * This,
    /* [in] */ IMgaFCO *mgaFCO);


void __RPC_STUB IGMEOLEModel_ShowSetMembers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_HideSetMembers_Proxy( 
    IGMEOLEModel * This);


void __RPC_STUB IGMEOLEModel_HideSetMembers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_Zoom_Proxy( 
    IGMEOLEModel * This,
    /* [in] */ DWORD percent);


void __RPC_STUB IGMEOLEModel_Zoom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_ZoomTo_Proxy( 
    IGMEOLEModel * This,
    /* [in] */ IMgaFCOs *mgaFCOs);


void __RPC_STUB IGMEOLEModel_ZoomTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEModel_Scroll_Proxy( 
    IGMEOLEModel * This,
    /* [in] */ bar_enum __MIDL_0014,
    /* [in] */ scroll_enum __MIDL_0015);


void __RPC_STUB IGMEOLEModel_Scroll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGMEOLEModel_INTERFACE_DEFINED__ */


#ifndef __IGMEOLEAspect_INTERFACE_DEFINED__
#define __IGMEOLEAspect_INTERFACE_DEFINED__

/* interface IGMEOLEAspect */
/* [object][dual][oleautomation][uuid] */ 


EXTERN_C const IID IID_IGMEOLEAspect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EDEEB1F8-BC44-40d2-BE91-83E8CCD59845")
    IGMEOLEAspect : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MgaAspect( 
            /* [retval][out] */ IMgaMetaAspect **aspect) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Active( 
            /* [in] */ VARIANT_BOOL isActive) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Active( 
            /* [retval][out] */ VARIANT_BOOL *isActive) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Valid( 
            /* [retval][out] */ VARIANT_BOOL *isValid) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGMEOLEAspectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGMEOLEAspect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGMEOLEAspect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGMEOLEAspect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGMEOLEAspect * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGMEOLEAspect * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGMEOLEAspect * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGMEOLEAspect * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MgaAspect )( 
            IGMEOLEAspect * This,
            /* [retval][out] */ IMgaMetaAspect **aspect);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Active )( 
            IGMEOLEAspect * This,
            /* [in] */ VARIANT_BOOL isActive);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Active )( 
            IGMEOLEAspect * This,
            /* [retval][out] */ VARIANT_BOOL *isActive);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Valid )( 
            IGMEOLEAspect * This,
            /* [retval][out] */ VARIANT_BOOL *isValid);
        
        END_INTERFACE
    } IGMEOLEAspectVtbl;

    interface IGMEOLEAspect
    {
        CONST_VTBL struct IGMEOLEAspectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGMEOLEAspect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGMEOLEAspect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGMEOLEAspect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGMEOLEAspect_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGMEOLEAspect_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGMEOLEAspect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGMEOLEAspect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGMEOLEAspect_get_MgaAspect(This,aspect)	\
    (This)->lpVtbl -> get_MgaAspect(This,aspect)

#define IGMEOLEAspect_put_Active(This,isActive)	\
    (This)->lpVtbl -> put_Active(This,isActive)

#define IGMEOLEAspect_get_Active(This,isActive)	\
    (This)->lpVtbl -> get_Active(This,isActive)

#define IGMEOLEAspect_get_Valid(This,isValid)	\
    (This)->lpVtbl -> get_Valid(This,isValid)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEAspect_get_MgaAspect_Proxy( 
    IGMEOLEAspect * This,
    /* [retval][out] */ IMgaMetaAspect **aspect);


void __RPC_STUB IGMEOLEAspect_get_MgaAspect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGMEOLEAspect_put_Active_Proxy( 
    IGMEOLEAspect * This,
    /* [in] */ VARIANT_BOOL isActive);


void __RPC_STUB IGMEOLEAspect_put_Active_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEAspect_get_Active_Proxy( 
    IGMEOLEAspect * This,
    /* [retval][out] */ VARIANT_BOOL *isActive);


void __RPC_STUB IGMEOLEAspect_get_Active_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEAspect_get_Valid_Proxy( 
    IGMEOLEAspect * This,
    /* [retval][out] */ VARIANT_BOOL *isValid);


void __RPC_STUB IGMEOLEAspect_get_Valid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGMEOLEAspect_INTERFACE_DEFINED__ */


#ifndef __IGMEOLEPanel_INTERFACE_DEFINED__
#define __IGMEOLEPanel_INTERFACE_DEFINED__

/* interface IGMEOLEPanel */
/* [object][dual][oleautomation][uuid] */ 


EXTERN_C const IID IID_IGMEOLEPanel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C047FAEB-7AE7-40fb-8C5C-90C73DAD4BC6")
    IGMEOLEPanel : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL isVisible) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *isVisible) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Interface( 
            /* [retval][out] */ IDispatch **interf) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGMEOLEPanelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGMEOLEPanel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGMEOLEPanel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGMEOLEPanel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGMEOLEPanel * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGMEOLEPanel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGMEOLEPanel * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGMEOLEPanel * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IGMEOLEPanel * This,
            /* [retval][out] */ BSTR *name);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IGMEOLEPanel * This,
            /* [in] */ VARIANT_BOOL isVisible);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IGMEOLEPanel * This,
            /* [retval][out] */ VARIANT_BOOL *isVisible);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Interface )( 
            IGMEOLEPanel * This,
            /* [retval][out] */ IDispatch **interf);
        
        END_INTERFACE
    } IGMEOLEPanelVtbl;

    interface IGMEOLEPanel
    {
        CONST_VTBL struct IGMEOLEPanelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGMEOLEPanel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGMEOLEPanel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGMEOLEPanel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGMEOLEPanel_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGMEOLEPanel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGMEOLEPanel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGMEOLEPanel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGMEOLEPanel_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IGMEOLEPanel_put_Visible(This,isVisible)	\
    (This)->lpVtbl -> put_Visible(This,isVisible)

#define IGMEOLEPanel_get_Visible(This,isVisible)	\
    (This)->lpVtbl -> get_Visible(This,isVisible)

#define IGMEOLEPanel_get_Interface(This,interf)	\
    (This)->lpVtbl -> get_Interface(This,interf)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEPanel_get_Name_Proxy( 
    IGMEOLEPanel * This,
    /* [retval][out] */ BSTR *name);


void __RPC_STUB IGMEOLEPanel_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGMEOLEPanel_put_Visible_Proxy( 
    IGMEOLEPanel * This,
    /* [in] */ VARIANT_BOOL isVisible);


void __RPC_STUB IGMEOLEPanel_put_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEPanel_get_Visible_Proxy( 
    IGMEOLEPanel * This,
    /* [retval][out] */ VARIANT_BOOL *isVisible);


void __RPC_STUB IGMEOLEPanel_get_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEPanel_get_Interface_Proxy( 
    IGMEOLEPanel * This,
    /* [retval][out] */ IDispatch **interf);


void __RPC_STUB IGMEOLEPanel_get_Interface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGMEOLEPanel_INTERFACE_DEFINED__ */


#ifndef __IGMEOLEColl_INTERFACE_DEFINED__
#define __IGMEOLEColl_INTERFACE_DEFINED__

/* interface IGMEOLEColl */
/* [object][dual][oleautomation][uuid] */ 


EXTERN_C const IID IID_IGMEOLEColl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("36C7B797-6BDE-46d0-8870-70189000EDF9")
    IGMEOLEColl : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *cnt) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
            IDispatch *newValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Find( 
            IDispatch *findValue,
            /* [retval][out] */ long *cnt) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Remove( 
            VARIANT removeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            long nIndex,
            /* [retval][out] */ IDispatch **val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Item( 
            long nIndex,
            IDispatch *newValue) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **e) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGMEOLECollVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGMEOLEColl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGMEOLEColl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGMEOLEColl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGMEOLEColl * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGMEOLEColl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGMEOLEColl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGMEOLEColl * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IGMEOLEColl * This,
            /* [retval][out] */ long *cnt);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IGMEOLEColl * This,
            IDispatch *newValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            IGMEOLEColl * This,
            IDispatch *findValue,
            /* [retval][out] */ long *cnt);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IGMEOLEColl * This,
            VARIANT removeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            IGMEOLEColl * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IGMEOLEColl * This,
            long nIndex,
            /* [retval][out] */ IDispatch **val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Item )( 
            IGMEOLEColl * This,
            long nIndex,
            IDispatch *newValue);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IGMEOLEColl * This,
            /* [retval][out] */ IUnknown **e);
        
        END_INTERFACE
    } IGMEOLECollVtbl;

    interface IGMEOLEColl
    {
        CONST_VTBL struct IGMEOLECollVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGMEOLEColl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGMEOLEColl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGMEOLEColl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGMEOLEColl_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGMEOLEColl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGMEOLEColl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGMEOLEColl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGMEOLEColl_get_Count(This,cnt)	\
    (This)->lpVtbl -> get_Count(This,cnt)

#define IGMEOLEColl_Add(This,newValue)	\
    (This)->lpVtbl -> Add(This,newValue)

#define IGMEOLEColl_Find(This,findValue,cnt)	\
    (This)->lpVtbl -> Find(This,findValue,cnt)

#define IGMEOLEColl_Remove(This,removeValue)	\
    (This)->lpVtbl -> Remove(This,removeValue)

#define IGMEOLEColl_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#define IGMEOLEColl_get_Item(This,nIndex,val)	\
    (This)->lpVtbl -> get_Item(This,nIndex,val)

#define IGMEOLEColl_put_Item(This,nIndex,newValue)	\
    (This)->lpVtbl -> put_Item(This,nIndex,newValue)

#define IGMEOLEColl_get__NewEnum(This,e)	\
    (This)->lpVtbl -> get__NewEnum(This,e)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEColl_get_Count_Proxy( 
    IGMEOLEColl * This,
    /* [retval][out] */ long *cnt);


void __RPC_STUB IGMEOLEColl_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEColl_Add_Proxy( 
    IGMEOLEColl * This,
    IDispatch *newValue);


void __RPC_STUB IGMEOLEColl_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEColl_Find_Proxy( 
    IGMEOLEColl * This,
    IDispatch *findValue,
    /* [retval][out] */ long *cnt);


void __RPC_STUB IGMEOLEColl_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEColl_Remove_Proxy( 
    IGMEOLEColl * This,
    VARIANT removeValue);


void __RPC_STUB IGMEOLEColl_Remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGMEOLEColl_RemoveAll_Proxy( 
    IGMEOLEColl * This);


void __RPC_STUB IGMEOLEColl_RemoveAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEColl_get_Item_Proxy( 
    IGMEOLEColl * This,
    long nIndex,
    /* [retval][out] */ IDispatch **val);


void __RPC_STUB IGMEOLEColl_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGMEOLEColl_put_Item_Proxy( 
    IGMEOLEColl * This,
    long nIndex,
    IDispatch *newValue);


void __RPC_STUB IGMEOLEColl_put_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGMEOLEColl_get__NewEnum_Proxy( 
    IGMEOLEColl * This,
    /* [retval][out] */ IUnknown **e);


void __RPC_STUB IGMEOLEColl_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGMEOLEColl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0348 */
/* [local] */ 

typedef 
enum MgaInterfaceVersion_enum
    {	MgaInterfaceVersion_None	= 0,
	MgaInterfaceVersion_Legacy	= 4,
	MgaInterfaceVersion_Current	= 0x20096
    } 	MgaInterfaceVersion_enum;

#define MgaInterfaceVersion MgaInterfaceVersion_enum


extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0348_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0348_v0_0_s_ifspec;

#ifndef __IMgaVersionInfo_INTERFACE_DEFINED__
#define __IMgaVersionInfo_INTERFACE_DEFINED__

/* interface IMgaVersionInfo */
/* [object][helpstring][uuid][oleautomation] */ 


EXTERN_C const IID IID_IMgaVersionInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9A228010-020B-11d2-BBB3-0040051F7117")
    IMgaVersionInfo : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_version( 
            /* [retval][out] */ MgaInterfaceVersion_enum *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaVersionInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaVersionInfo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaVersionInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaVersionInfo * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 
            IMgaVersionInfo * This,
            /* [retval][out] */ MgaInterfaceVersion_enum *pVal);
        
        END_INTERFACE
    } IMgaVersionInfoVtbl;

    interface IMgaVersionInfo
    {
        CONST_VTBL struct IMgaVersionInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaVersionInfo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaVersionInfo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaVersionInfo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaVersionInfo_get_version(This,pVal)	\
    (This)->lpVtbl -> get_version(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMgaVersionInfo_get_version_Proxy( 
    IMgaVersionInfo * This,
    /* [retval][out] */ MgaInterfaceVersion_enum *pVal);


void __RPC_STUB IMgaVersionInfo_get_version_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaVersionInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_ComponentLib_0349 */
/* [local] */ 

typedef 
enum inserttype_enum
    {	ADDITION	= 0,
	MERGE	= 1
    } 	inserttype_enum;



extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0349_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ComponentLib_0349_v0_0_s_ifspec;

#ifndef __IMetaParser_INTERFACE_DEFINED__
#define __IMetaParser_INTERFACE_DEFINED__

/* interface IMetaParser */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMetaParser;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("70C41B24-E3CE-11D3-B37A-005004D38590")
    IMetaParser : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Parse( 
            /* [in] */ BSTR xmlfile,
            /* [in] */ BSTR connection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMetaParserVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMetaParser * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMetaParser * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMetaParser * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMetaParser * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMetaParser * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMetaParser * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMetaParser * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Parse )( 
            IMetaParser * This,
            /* [in] */ BSTR xmlfile,
            /* [in] */ BSTR connection);
        
        END_INTERFACE
    } IMetaParserVtbl;

    interface IMetaParser
    {
        CONST_VTBL struct IMetaParserVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMetaParser_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMetaParser_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMetaParser_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMetaParser_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMetaParser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMetaParser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMetaParser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMetaParser_Parse(This,xmlfile,connection)	\
    (This)->lpVtbl -> Parse(This,xmlfile,connection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMetaParser_Parse_Proxy( 
    IMetaParser * This,
    /* [in] */ BSTR xmlfile,
    /* [in] */ BSTR connection);


void __RPC_STUB IMetaParser_Parse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMetaParser_INTERFACE_DEFINED__ */


#ifndef __IMgaDumper_INTERFACE_DEFINED__
#define __IMgaDumper_INTERFACE_DEFINED__

/* interface IMgaDumper */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaDumper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A5D0DAE6-16EE-11D4-B3C2-005004D38590")
    IMgaDumper : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DumpProject( 
            /* [in] */ IMgaProject *p,
            /* [in] */ BSTR xmlfile) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DumpFCOs( 
            /* [in] */ IMgaProject *proj,
            /* [in] */ IMgaFCOs *p,
            /* [in] */ IMgaFolders *f,
            /* [in] */ IMgaRegNodes *r,
            /* [in] */ BSTR xmlfile) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DumpClos( 
            /* [in] */ IMgaFCOs *fco,
            /* [in] */ IMgaFolders *fld,
            /* [in] */ BSTR xmlfile,
            /* [in] */ int libr_stub) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DumpClosR( 
            /* [in] */ IMgaFCOs *fco,
            /* [in] */ IMgaFolders *fld,
            /* [in] */ BSTR xmlfile,
            /* [in] */ IMgaFCOs *topfco,
            /* [in] */ IMgaFolders *topfld,
            /* [in] */ int options,
            /* [in] */ BSTR abspath,
            /* [in] */ BSTR acceptingkinds) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FormatVersion( 
            /* [in] */ long p) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaDumperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaDumper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaDumper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaDumper * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaDumper * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaDumper * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaDumper * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaDumper * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DumpProject )( 
            IMgaDumper * This,
            /* [in] */ IMgaProject *p,
            /* [in] */ BSTR xmlfile);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DumpFCOs )( 
            IMgaDumper * This,
            /* [in] */ IMgaProject *proj,
            /* [in] */ IMgaFCOs *p,
            /* [in] */ IMgaFolders *f,
            /* [in] */ IMgaRegNodes *r,
            /* [in] */ BSTR xmlfile);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DumpClos )( 
            IMgaDumper * This,
            /* [in] */ IMgaFCOs *fco,
            /* [in] */ IMgaFolders *fld,
            /* [in] */ BSTR xmlfile,
            /* [in] */ int libr_stub);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DumpClosR )( 
            IMgaDumper * This,
            /* [in] */ IMgaFCOs *fco,
            /* [in] */ IMgaFolders *fld,
            /* [in] */ BSTR xmlfile,
            /* [in] */ IMgaFCOs *topfco,
            /* [in] */ IMgaFolders *topfld,
            /* [in] */ int options,
            /* [in] */ BSTR abspath,
            /* [in] */ BSTR acceptingkinds);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FormatVersion )( 
            IMgaDumper * This,
            /* [in] */ long p);
        
        END_INTERFACE
    } IMgaDumperVtbl;

    interface IMgaDumper
    {
        CONST_VTBL struct IMgaDumperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaDumper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaDumper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaDumper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaDumper_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaDumper_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaDumper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaDumper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaDumper_DumpProject(This,p,xmlfile)	\
    (This)->lpVtbl -> DumpProject(This,p,xmlfile)

#define IMgaDumper_DumpFCOs(This,proj,p,f,r,xmlfile)	\
    (This)->lpVtbl -> DumpFCOs(This,proj,p,f,r,xmlfile)

#define IMgaDumper_DumpClos(This,fco,fld,xmlfile,libr_stub)	\
    (This)->lpVtbl -> DumpClos(This,fco,fld,xmlfile,libr_stub)

#define IMgaDumper_DumpClosR(This,fco,fld,xmlfile,topfco,topfld,options,abspath,acceptingkinds)	\
    (This)->lpVtbl -> DumpClosR(This,fco,fld,xmlfile,topfco,topfld,options,abspath,acceptingkinds)

#define IMgaDumper_put_FormatVersion(This,p)	\
    (This)->lpVtbl -> put_FormatVersion(This,p)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaDumper_DumpProject_Proxy( 
    IMgaDumper * This,
    /* [in] */ IMgaProject *p,
    /* [in] */ BSTR xmlfile);


void __RPC_STUB IMgaDumper_DumpProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaDumper_DumpFCOs_Proxy( 
    IMgaDumper * This,
    /* [in] */ IMgaProject *proj,
    /* [in] */ IMgaFCOs *p,
    /* [in] */ IMgaFolders *f,
    /* [in] */ IMgaRegNodes *r,
    /* [in] */ BSTR xmlfile);


void __RPC_STUB IMgaDumper_DumpFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaDumper_DumpClos_Proxy( 
    IMgaDumper * This,
    /* [in] */ IMgaFCOs *fco,
    /* [in] */ IMgaFolders *fld,
    /* [in] */ BSTR xmlfile,
    /* [in] */ int libr_stub);


void __RPC_STUB IMgaDumper_DumpClos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaDumper_DumpClosR_Proxy( 
    IMgaDumper * This,
    /* [in] */ IMgaFCOs *fco,
    /* [in] */ IMgaFolders *fld,
    /* [in] */ BSTR xmlfile,
    /* [in] */ IMgaFCOs *topfco,
    /* [in] */ IMgaFolders *topfld,
    /* [in] */ int options,
    /* [in] */ BSTR abspath,
    /* [in] */ BSTR acceptingkinds);


void __RPC_STUB IMgaDumper_DumpClosR_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMgaDumper_put_FormatVersion_Proxy( 
    IMgaDumper * This,
    /* [in] */ long p);


void __RPC_STUB IMgaDumper_put_FormatVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaDumper_INTERFACE_DEFINED__ */


#ifndef __IMgaParser_INTERFACE_DEFINED__
#define __IMgaParser_INTERFACE_DEFINED__

/* interface IMgaParser */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IMgaParser;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("94D6FB53-1F7C-11D4-B3D0-005004D38590")
    IMgaParser : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetXMLInfo( 
            /* [in] */ BSTR xmlfile,
            /* [out] */ BSTR *paradigm,
            /* [out] */ BSTR *parversion,
            /* [out] */ VARIANT *parguid,
            /* [out] */ BSTR *basename,
            /* [out] */ BSTR *ver) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParseProject( 
            /* [in] */ IMgaProject *p,
            /* [in] */ BSTR xmlfile) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParseFCOs( 
            /* [in] */ IMgaObject *here,
            /* [in] */ BSTR xmlfile) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipXMLInfo( 
            /* [in] */ BSTR xmlfile,
            /* [in] */ IMgaObject *target,
            /* [out] */ VARIANT_BOOL *parguid,
            /* [out] */ BSTR *acckind,
            /* [out] */ BSTR *ver) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParseClos1( 
            /* [in] */ IMgaObject *here,
            /* [in] */ BSTR xmlfile) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParseClos4( 
            /* [in] */ IMgaObject *here,
            /* [in] */ BSTR xmlfile,
            /* [in] */ int options) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaParserVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaParser * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaParser * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaParser * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaParser * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaParser * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaParser * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaParser * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetXMLInfo )( 
            IMgaParser * This,
            /* [in] */ BSTR xmlfile,
            /* [out] */ BSTR *paradigm,
            /* [out] */ BSTR *parversion,
            /* [out] */ VARIANT *parguid,
            /* [out] */ BSTR *basename,
            /* [out] */ BSTR *ver);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParseProject )( 
            IMgaParser * This,
            /* [in] */ IMgaProject *p,
            /* [in] */ BSTR xmlfile);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParseFCOs )( 
            IMgaParser * This,
            /* [in] */ IMgaObject *here,
            /* [in] */ BSTR xmlfile);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClipXMLInfo )( 
            IMgaParser * This,
            /* [in] */ BSTR xmlfile,
            /* [in] */ IMgaObject *target,
            /* [out] */ VARIANT_BOOL *parguid,
            /* [out] */ BSTR *acckind,
            /* [out] */ BSTR *ver);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParseClos1 )( 
            IMgaParser * This,
            /* [in] */ IMgaObject *here,
            /* [in] */ BSTR xmlfile);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ParseClos4 )( 
            IMgaParser * This,
            /* [in] */ IMgaObject *here,
            /* [in] */ BSTR xmlfile,
            /* [in] */ int options);
        
        END_INTERFACE
    } IMgaParserVtbl;

    interface IMgaParser
    {
        CONST_VTBL struct IMgaParserVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaParser_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaParser_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaParser_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaParser_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaParser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaParser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaParser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaParser_GetXMLInfo(This,xmlfile,paradigm,parversion,parguid,basename,ver)	\
    (This)->lpVtbl -> GetXMLInfo(This,xmlfile,paradigm,parversion,parguid,basename,ver)

#define IMgaParser_ParseProject(This,p,xmlfile)	\
    (This)->lpVtbl -> ParseProject(This,p,xmlfile)

#define IMgaParser_ParseFCOs(This,here,xmlfile)	\
    (This)->lpVtbl -> ParseFCOs(This,here,xmlfile)

#define IMgaParser_GetClipXMLInfo(This,xmlfile,target,parguid,acckind,ver)	\
    (This)->lpVtbl -> GetClipXMLInfo(This,xmlfile,target,parguid,acckind,ver)

#define IMgaParser_ParseClos1(This,here,xmlfile)	\
    (This)->lpVtbl -> ParseClos1(This,here,xmlfile)

#define IMgaParser_ParseClos4(This,here,xmlfile,options)	\
    (This)->lpVtbl -> ParseClos4(This,here,xmlfile,options)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParser_GetXMLInfo_Proxy( 
    IMgaParser * This,
    /* [in] */ BSTR xmlfile,
    /* [out] */ BSTR *paradigm,
    /* [out] */ BSTR *parversion,
    /* [out] */ VARIANT *parguid,
    /* [out] */ BSTR *basename,
    /* [out] */ BSTR *ver);


void __RPC_STUB IMgaParser_GetXMLInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParser_ParseProject_Proxy( 
    IMgaParser * This,
    /* [in] */ IMgaProject *p,
    /* [in] */ BSTR xmlfile);


void __RPC_STUB IMgaParser_ParseProject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParser_ParseFCOs_Proxy( 
    IMgaParser * This,
    /* [in] */ IMgaObject *here,
    /* [in] */ BSTR xmlfile);


void __RPC_STUB IMgaParser_ParseFCOs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParser_GetClipXMLInfo_Proxy( 
    IMgaParser * This,
    /* [in] */ BSTR xmlfile,
    /* [in] */ IMgaObject *target,
    /* [out] */ VARIANT_BOOL *parguid,
    /* [out] */ BSTR *acckind,
    /* [out] */ BSTR *ver);


void __RPC_STUB IMgaParser_GetClipXMLInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParser_ParseClos1_Proxy( 
    IMgaParser * This,
    /* [in] */ IMgaObject *here,
    /* [in] */ BSTR xmlfile);


void __RPC_STUB IMgaParser_ParseClos1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaParser_ParseClos4_Proxy( 
    IMgaParser * This,
    /* [in] */ IMgaObject *here,
    /* [in] */ BSTR xmlfile,
    /* [in] */ int options);


void __RPC_STUB IMgaParser_ParseClos4_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaParser_INTERFACE_DEFINED__ */


#ifndef __IMgaXslt_INTERFACE_DEFINED__
#define __IMgaXslt_INTERFACE_DEFINED__

/* interface IMgaXslt */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IMgaXslt;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FDE29236-8F66-489d-AE5A-CC789A6E51D6")
    IMgaXslt : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ApplyXslt( 
            /* [in] */ BSTR stylesheet,
            /* [in] */ BSTR infile,
            /* [in] */ BSTR outfile,
            /* [out] */ BSTR *error) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMgaXsltVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMgaXslt * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMgaXslt * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMgaXslt * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMgaXslt * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMgaXslt * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMgaXslt * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMgaXslt * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ApplyXslt )( 
            IMgaXslt * This,
            /* [in] */ BSTR stylesheet,
            /* [in] */ BSTR infile,
            /* [in] */ BSTR outfile,
            /* [out] */ BSTR *error);
        
        END_INTERFACE
    } IMgaXsltVtbl;

    interface IMgaXslt
    {
        CONST_VTBL struct IMgaXsltVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMgaXslt_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMgaXslt_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMgaXslt_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMgaXslt_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMgaXslt_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMgaXslt_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMgaXslt_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMgaXslt_ApplyXslt(This,stylesheet,infile,outfile,error)	\
    (This)->lpVtbl -> ApplyXslt(This,stylesheet,infile,outfile,error)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMgaXslt_ApplyXslt_Proxy( 
    IMgaXslt * This,
    /* [in] */ BSTR stylesheet,
    /* [in] */ BSTR infile,
    /* [in] */ BSTR outfile,
    /* [out] */ BSTR *error);


void __RPC_STUB IMgaXslt_ApplyXslt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMgaXslt_INTERFACE_DEFINED__ */



#ifndef __MgaComponentLib_LIBRARY_DEFINED__
#define __MgaComponentLib_LIBRARY_DEFINED__

/* library MgaComponentLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_MgaComponentLib;

EXTERN_C const CLSID CLSID_MgaComponent;

#ifdef __cplusplus

class DECLSPEC_UUID("5FD7F9D6-44DC-40D0-8CE5-87A381A4B95A")
MgaComponent;
#endif
#endif /* __MgaComponentLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


